Как очистить буфер обмена в excel
Перейти к содержимому

Как очистить буфер обмена в excel

  • автор:

Буфер обмена Excel расширяет возможности копирования

Практическое применение преимуществ инструмента «Буфер обмена» лучше всего продемонстрировать на примерах.

С помощью расширенных функций буфера обмена можно повысить производительность работы в Excel при выполнении копирования и вставки элементов. Это одни из наиболее часто используемых операций при работе с программой Excel. Поэтому стоит научиться их использовать профессионально. Тем более что это не сложно.

Копирование несколько элементов в буфер

Для начала продемонстрируем на примере как с помощью буфера обмена можно быстро заполнять данные в таблице. Для этого создадим исходную табличку как показано на рисунке:

Таблица для заполнения.

Для быстрого заполнения ячеек с помощью буфера необходимо:

  1. Открыть окно буфера обмена нажав на угловую кнопку вкладки «Главная» как показано на рисунке: Окно буфера обмена.
  2. В ячейку C2 и C3 введем текст «логистика», «администрация».
  3. Теперь копируем введенный текст комбинацией клавиш CTRL+C или через «Главная»-«Копировать» сначала с C2. Потом отдельно копируем значение из C3. Обратите внимание, в окне буфера появились новые элементы. Копирование данных в буфер.
  4. Выделяем диапазон ячеек C4:C5.
  5. Щелкните по элементу «администрация». Выделенные ячейки заполнятся соответствующими значениями.
  6. В такой же способ вставьте в диапазон ячеек C6:C8 слово логистика.

Вставка данных из буфера.

Как видите, вам теперь не приходится каждый раз копировать, когда необходимо заполнять ячейки повторяющимися значениями. Это очень удобно и экономно по времени.

Управление буфером обмена Excel

Буфер обмена может содержать до 24 элементов. В Excel неважно, что копировать: таблицу, столбец, строку, содержимое одной ячейки или просто текст – все это является отдельными элементами в независимости от его объема их информации. При копировании 25-го элемента – первый удаляется автоматически.

Вы можете управлять содержимым буфера. Если в нем находятся лишние элементы, удалите их. Для этого щелкните правой кнопкой мышки по лишнему элементу и выберите опцию «Удалить». Чтобы полностью очистить буфер обмена Excel следует в боковом окне нажать на кнопку «Очистить все».

Управление элементами.

Информация о количестве элементов выводится в заголовке окна. Там же находится кнопка закрытия бокового окна инструмента «X».

Кнопка закрытия окна.

Если вам мешает боковое окно инструмента, но вы желаете продолжать его наполнять элементами, то сделайте так:

Параметры.

  • щелкните по кнопке «Параметры», которая расположена в низу окна;
  • выберите опцию «Собирать данные без отображения буфера обмена Office»;
  • закройте окно буфера, щелкнув по крестику (х).

Режим работы комплексного копирования сохраниться и окно не будет мешать, а когда уже все данные для заполнения будут собраны в буфер, снова откройте его окно для выборочной вставки скопированных элементов.

Так работать очень удобно, особенно когда нужно копировать данные на другие листы Excel или в другие программы пакета MS Office (например, Word). Каждая программа, которая входит в пакет MS Office обладает инструментом «Буфер обмена». А значит, в каждой из этих программ можно вызвать окно буфера для выборочной вставки элементов. Данный инструмент позволяет эффективно организовать одновременную работу с несколькими документами.

Примечание. Перемещение данных осуществляется в такой же способ, как и копирование. Только вместо комбинации клавиш CTRL+C следует нажимать CTRL+X, а вместо опций «копировать» нужно выбирать опцию «вырезать».

  • Excel Formula Examples
  • Создать таблицу
  • Форматирование
  • Функции Excel
  • Формулы и диапазоны
  • Фильтр и сортировка
  • Диаграммы и графики
  • Сводные таблицы
  • Печать документов
  • Базы данных и XML
  • Возможности Excel
  • Настройки параметры
  • Уроки Excel
  • Макросы VBA
  • Скачать примеры

Использование буфера обмена Office

В Office буфере обмена хранятся текст и рисунки, которые вы копируете или вырезали из любого места, и позволяет вкопировать сохраненные элементы в любой другой Office файл. Вот как это работает в Word 2013 или Word 2016.

Вырезание и вклейка элементов из буфера обмена

Открытие буфера обмена в Word 2013

  1. Если вы еще не сделали этого, щелкните Главная ,а затем щелкните кнопку запуска в правом нижнем углу группы Буфер обмена.

Выберите, что вы хотите вставить из буфера обмена

Вы выберите текст или рисунок, который вы хотите скопировать, и нажмите CTRL+C. Каждый фрагмент отображается в буфере обмена (последняя версия вверху).

Совет: После открытия буфера обмена в нем сохраняется содержимое, которое вы копируете или вырезали из любого места. То же самое происходит, если в буфере обмена хранится содержимое, но остается закрытым, если запущена Office буфера обмена. Подробнее об этом см. в приведенной ниже таблице Настройка параметров буфера обмена.

Вставка одного элемента из буфера обмена

  • Щелкните место в документе, куда вы хотите в нее в paste.)
  • В буфере обмена сделайте следующее:
    • Щелкните стрелку вниз рядом с элементом, который нужно вировать, и выберите пункт Вировать.

    Другие вещи, которые можно делать с буфером обмена

    • Удаление элементов из буфера обмена
    • Закрыть буфер обмена
    • Настройка параметров буфера обмена

    Удаление элементов из буфера обмена

    Выполните одно из указанных ниже действий.

    Удаление элемента из буфера обмена в Word 2013

    • Щелкните стрелку справа от элемента и выберите удалить.
    • Щелкните правой кнопкой мыши элемент, который вы хотите удалить, и выберите удалить.
    • Нажмите кнопку Очистить все, чтобы очистить буфер обмена.

    Закрыть буфер обмена

    Щелкните X в правом верхнем углу области Буфер обмена.

    Закрытие буфера обмена в Word

    Настройка параметров буфера обмена

    Параметры контролируют различные функции буфера обмена, например, когда появляется буфер обмена.

    Откройте буфер обмена и нажмите кнопку Параметры в нижней части области.

    Параметры буфера обмена в Word 2013

    Вот что делает каждый из вариантов:

    Автоматическое отображение буфера обмена Office

    Отображение буфера Office при копировании более одного элемента.

    Открывать буфер обмена Office при двойном нажатии CTRL+C

    Отображение буфера Office при дважды нажатии CTRL+C.

    Собирать данные без отображения буфера обмена Office

    Автоматическое копирование элементов в буфер обмена Office без отображения области задач Буфер обмена. При выборе этого параметра в буфере обмена будет храниться содержимое, скопированные или вырезанное из любого места.

    Показать значок буфера обмена Office на панели задач

    Отображает значок буфера обмена в области уведомлений Windows панели задач, когда буфер обмена активен. Этот параметр по умолчанию находится в режиме.

    Показывать состояние около панели задач при копировании

    Количество элементов, собранных в правом нижнем углу окна Word. Этот параметр по умолчанию находится в режиме.

    Очистка буфера обмена

    При сборе слишком многких элементов в буфере обмена может возникнуть ошибка с сообщением о том, что буфер обмена заполнен. Вот как можно очистить буфер обмена.

    Чтобы удалить все фрагменты или только некоторые из них, сначала откройте область задач Буфер обмена.

    Кнопка вызова окна буфера обмена находится в правом нижнем углу группы параметров

      На вкладке Главная в группе Буфер обмена нажмите кнопку вызова диалогового окна Буфер обмена.

    В списке

    Область задач Буфер обмена отображается в левой части листа, и в ней показаны все фрагменты, содержащиеся в буфере обмена.

    Кнопка

    Чтобы очистить весь буфер обмена, нажмите кнопку Очистить все.

    Вы можете удалить клип 1.

    Чтобы удалить отдельный фрагмент, щелкните стрелку справа от него и нажмите кнопку Удалить.

    VBA Excel. Буфер обмена (копирование, вставка, очистка)

    Копирование содержимого и форматов ячеек (диапазона) в буфер обмена осуществляется методом Range.Copy, а вставка – методом Worksheet.Paste:

    ‘Копирование одной ячейки в буфер обмена
    Range ( «A10» ) . Copy
    Cells ( 10 , 1 ) . Copy
    ‘Копирование диапазона ячеек в буфер обмена
    Range ( «B8:H12» ) . Copy
    Range ( Cells ( 8 , 2 ) , Cells ( 12 , 8 ) ) . Copy
    ‘Вставка ячейки (диапазона) из буфера обмена на рабочий лист
    ActiveSheet . Paste Range ( «A20» )
    ActiveSheet . Paste Cells ( 20 , 1 )

    При вставке диапазона ячеек из буфера обмена на рабочий лист достаточно указать верхнюю левую ячейку места (диапазона) вставки. Для вставки из буфера обмена отдельных компонентов скопированных ячеек (значения, формулы, примечания и т.д.), а также применения к диапазону транспонирования или вычислений, используется метод Range.PasteSpecial (специальная вставка).

    Буфер обмена и переменная

    Передача текста между переменной и буфером обмена в VBA Excel осуществляется с помощью объекта DataObject. Стоит иметь в виду, что на некоторых компьютерах DataObject может некорректно работать при открытом окне проводника.

    Объект DataObject

    DataObject – это область временного хранения форматированных фрагментов текста, используемая в операциях переноса данных.

    Подробнее об элементе DataObject вы можете прочитать на сайте разработчиков. Методы объекта DataObject:

    Метод Описание
    GetFromClipboard Копирует данные из буфера обмена в DataObject
    GetText Извлекает текстовую строку из объекта DataObject в указанном формате
    PutInClipboard Перемещает данные из DataObject в буфер обмена
    SetText Копирует текстовую строку в DataObject, используя указанный формат

    Копирование текста из переменной в буфер обмена

    Sub Primer2 ( )
    Dim s As String , myData As New DataObject
    s = «Копирование текста из переменной в буфер обмена»
    ‘Копируем текст из переменной в DataObject
    myData . SetText ( s )
    ‘Перемещаем текст из DataObject в буфер обмена
    myData . PutInClipboard
    ‘Проверяем содержимое буфера обмена
    ActiveSheet . Paste Range ( «A1» )

    Копирование текста из буфера обмена в переменную

    Sub Primer3 ( )
    Dim s As String , myData As New DataObject
    Range ( «A1» ) = «Копирование текста из буфера обмена в переменную»
    ‘Копируем данные из ячейки в буфер обмена
    Range ( «A1» ) . Copy
    ‘Копируем данные из буфера обмена в DataObject
    myData . GetFromClipboard
    ‘Извлекаем текст из объекта DataObject и присваиваем переменной s
    s = myData . GetText
    ‘Проверяем содержимое переменной s

    Очистка буфера обмена

    Application . CutCopyMode = False
    Sub Primer4 ( )
    Range ( «A1» ) = «Очистка буфера обмена»
    Range ( «A1» ) . Copy
    ActiveSheet . Paste Range ( «A2» )
    ActiveSheet . Paste Range ( «A3» )
    Application . CutCopyMode = False
    On Error Resume Next
    ActiveSheet . Paste Range ( «A4» )
    ActiveSheet . Paste Range ( «A5» )

    Оператор On Error Resume Next необходим для обработки (пропуска) ошибки, возникающей при вставке из пустого буфера обмена.

    Функции для работы с буфером обмена

    ‘Функция записи текста в буфер обмена
    Function SetClipBoardText ( ByVal Text As Variant ) As Boolean

    SetClipBoardText = CreateObject ( «htmlfile» ) . parentWindow . clipboardData . SetData ( «Text» , Text )

    End Function
    ‘Функция вставки текста из буфера обмена
    Function GetClipBoardText ( ) As String
    On Error Resume Next
    GetClipBoardText = CreateObject ( «htmlfile» ) . parentWindow . clipboardData . GetData ( «Text» )
    End Function
    ‘Функция очистки буфера обмена
    Function ClearClipBoardText ( ) As Boolean

    ClearClipBoardText = CreateObject ( «htmlfile» ) . parentWindow . clipboardData . clearData ( «Text» )

    End Function
    Sub Primer ( )
    Dim s As String
    s = «Копирование текста из переменной в буфер обмена»
    ‘Копируем текст в буфер обмена
    SetClipBoardText ( s )
    ‘Вставляем текс из буфера обмена в ячейку «A1»
    Range ( «A1» ) = GetClipBoardText
    ‘Очищаем буфер обмена, если это необходимо
    ClearClipBoardText
    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    8 комментариев для “VBA Excel. Буфер обмена (копирование, вставка, очистка)”

    Sub Primer2 ( )
    Dim s As String , myData As New DataObject
    s = «Копирование текста из переменной в буфер обмена»
    ‘Копируем текст из переменной в DataObject
    myData . SetText ( s )
    ‘Перемещаем текст из DataObject в буфер обмена
    myData . PutInClipboard
    ‘Проверяем содержимое буфера обмена
    ActiveSheet . Paste Range ( «A1» )

    В А1 вставляется какой-то непечатаемый символ и всё. При переходе к другому приложению и попытке вставить содержимое буфера — фиаско.

    Добрый день, Михаил!
    Такое встречается, начиная с Windows 8, когда открыта хотя бы одна папка в Проводнике. Я добавил в статью функции для работы с буфером обмена, они должны работать.

    В Win 8.1 такой проблемы не наблюдаю, уж по всякому погонял, пытаясь вызвать ошибку — всегда правильно отрабатывает ))
    А за статью большое спасибо!

    Нашёл такую информацию на случай получения ошибки относительно типа данных DataObject.
    Чтобы заработал тип данных «DataObject» нужно подключить инструмент «Microsoft Forms Object Libraries». Для этого необходимо выполнить действия в редакторе макросов Эксель:
    1. Открыть Tools/References;
    2. Через кнопку Browse открыть файл C:\WINDOWS\SYSTEM32\FM20.DLL. Файл «FM20.DLL» может оказаться в другой подпапке Windows, поискать по названию. Может быть в «SysWOW64» или в «System».

    Добрый день. Подскажите пожалуйста в чем ошибка? Как только открывается вторая табличка, то файлы скопированные пропадают из буфера и пишет ошибку 424 Objekt required.

    Sub Макрос1()

    ‘ Макрос1 Макрос

    ‘ Сочетание клавиш: Ctrl+й

    ActiveSheet.Range(«$A$11:$AD$182»).AutoFilter Field:=1, Criteria1:= _
    xlFilterToday, Operator:=xlFilterDynamic
    Range(«D11:D247»).Select
    Selection.SpecialCells(xlCellTypeConstants, 23).Select
    Selection.Copy
    Dim fn As String: wb = ThisWorkbook.Path & «\ПВКоборудование.xlsm»
    With Application
    .EnableEvents = True
    .Calculation = xlCalculationManual
    .ScreenUpdating = True
    .Visible = True
    Workbooks.Open Filename:=wb
    Sheets(«наименования»).Select
    Range(«C1»).Select
    AktiveSheet.Paste
    End With
    End Sub

    Здравствуйте, Иван!
    Попробуйте заменить строку
    AktiveSheet.Paste
    на
    ActiveSheet.Paste Range(«C1»)
    Спасибо. Помогло
    Константин 16.03.2023 в 10:51

    Проблема на виндовс 10 осталась только вместо 2-х квадратов пустоту переносит при открытой одной вкладке.
    Dim longString As String
    ‘Dim sel As Object
    »Dim obj3ADes As New DataObject
    ‘Dim obj3ADes As String
    strFile = Intersect(listobjTechs.ListRows(1).Range, listobjTechs.ListColumns(«Value»).DataBodyRange)
    Set objWordApp = CreateObject(«Word.Application») ‘Word session creation Word.Application
    objWordApp.Visible = True
    Set objWordDoc = objWordApp.Documents.Open(strFile) ‘open the .doc file
    Dim listrowRowChecked As ListRow
    Dim listcolumnColumnChecked As ListColumn
    For Each listrowRowChecked In listobjectData.ListRows
    Set objWordDoc = objWordApp.Documents.Open(strFile)
    For Each listcolumnColumnChecked In listobjectData.ListColumns
    If listcolumnColumnChecked.Name Like «» Then
    ‘REPLACEMENTS
    ‘Debug.Print listcolumnColumnChecked.Name, «is a placeholder» ‘TEST
    objWordApp.Selection.Find.ClearFormatting
    objWordApp.Selection.Find.Replacement.ClearFormatting
    longString = Intersect(listcolumnColumnChecked.DataBodyRange, listrowRowChecked.Range).Value
    ‘obj3ADes.SetText longString
    SetClipBoardText longString
    ‘obj3ADes.PutInClipboard
    With objWordApp.Selection.Find
    .ClearFormatting
    .Text = listcolumnColumnChecked.Name
    .Replacement.ClearFormatting
    .Replacement.Text = «^c»
    .Execute Replace:=wdReplaceAll, Forward:=True, _
    Wrap:=wdFindContinue
    End With
    ‘objWordApp.Selection.Find.Execute Replace:=wdReplaceAll
    Else:
    ‘Debug.Print listcolumnColumnChecked.Name, «is no placeholder» ‘Test
    End If
    ClearClipBoardText
    Next listcolumnColumnChecked

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *