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

  • Поделись Этим
Hugh West

Если вы вырезаете или копируете любой текст или изображение, он сначала сохраняется в буфере обмена. После этого вы можете вставить текст или изображение в любое место, например, в файлы Word или Excel. В Excel вы можете вставлять текст из буфера обмена различными способами. Использование Microsoft Приложения Visual Basic (VBA) позволяет вставлять из буфера обмена в файл Excel с помощью некоторых кодов. В этой статье я покажу вам 3 способа использования VBA для вставки из буфера обмена в Excel.

Предположим, у вас есть скопировал несколько текстов из текстового файла и сохранили их в буфере обмена. Теперь вы хотите вставить их в файл Excel, используя VBA .

Скачать Практическое пособие

Вставка из буфера обмена в Excel.xlsm

3 метода вставки из буфера обмена в Excel с помощью VBA

1. Вставка из буфера обмена в отдельную ячейку с помощью VBA

Перед применением этого метода вам необходимо активировать Библиотека объектов Microsoft Forms 2.0 для VBA проект. Чтобы сделать это,

➤ Нажмите ALT+F11 чтобы открыть VBA

➤ Перейти к Инструменты> Ссылки в VBA окно.

Это позволит открыть Ссылка - VBAProject окно.

➤ Проверьте Библиотека объектов Microsoft Forms 2.0 и нажмите на OK .

Это активирует Библиотека объектов Microsoft Forms 2.0 . Сейчас,

➤ Нажмите на Вставка вкладку и выберите Модуль .

Это позволит открыть Модуль(Код) окно.

➤ Вставьте следующий код в Модуль(Код) окно,

 Sub Paste_from_Clipboard() Dim CObj As MSForms.DataObject Set CObj = New MSForms.DataObject CObj.GetFromClipboard XText = CObj.GetText(1) ActiveSheet.Range("B4").Value = XText End Sub 

Код создаст Макро который вставит текст из буфера обмена в ячейку B4 .

После вставки кода,

➤ Нажмите на Запускайте значок или нажмите F5 .

Сейчас,

➤ Закройте или сверните VBA окно.

Вы увидите, что тексты из буфера обмена были вставлены в ячейку B4 .

Читать далее: Как копировать и вставлять в Excel без формул (7 простых приемов)

Похожие чтения

  • Как скопировать уникальные значения на другой рабочий лист в Excel (5 методов)
  • Копирование слитых и отфильтрованных ячеек в Excel (4 метода)
  • Как копировать строки в Excel (4 простых способа)
  • Копирование и вставка тысяч строк в Excel (3 способа)
  • Как скопировать и вставить точное форматирование в Excel (6 быстрых способов)

2. Вставка из буфера обмена с помощью SendKeys

Этот метод основан на использовании клавиши быстрого доступа CTRL+V который используется для вставки данных. С помощью VBA код, вы можете использовать эту команду для вставки данных из буфера обмена. Первое,

➤ Щелкните правой кнопкой мыши на имени листа в окне Проект панель VBA окно.

Появится выпадающее меню.

➤ Развернуть Вставка щелчком мыши, а затем выберите Модуль .

Это позволит открыть Модуль(Код) окно.

➤ Вставьте следующий код в Модуль(Код) окно,

 Sub Paste_from_Clipboard_2() ActiveSheet.Range("B4").Select SendKeys "^v" End Sub 

Код создаст Макро под названием Вставить_из_планшета_2 который даст команду CTRL+V после выбора ячейки B4 и вставьте данные из буфера обмена в эту ячейку.

Сейчас,

➤ Закройте или сверните VBA окно.

➤ Нажмите ALT+F8

Откроется Макро окно.

➤ Выберите Вставить_из_планшета_2 в Имя макроса и нажмите кнопку Запускайте .

В результате вы увидите, что тексты из буфера обмена были вставлены в ячейку B4 .

Читать далее: Excel VBA для копирования только значений в место назначения (макрос, UDF и UserForm)

3. Вставка из буфера обмена в диапазон

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

Предположим, у вас есть следующий набор данных в листе с именем Данные .

Сейчас,

➤ Нажмите ALT+11 чтобы открыть VBA окно.

➤ Щелкните правой кнопкой мыши на имени листа в окне Проект панель VBA окно.

Появится выпадающее меню.

➤ Развернуть Вставка щелчком мыши, а затем выберите Модуль .

Это позволит открыть Модуль(Код) окно.

➤ Вставьте следующий код в Модуль(Код) окно,

 Sub Copy_Clipboard_Range() Worksheets("Data").Range("B4:E9").Copy ActiveSheet.Paste Destination:=Worksheets("Paste sheet").Range("B5:E10") End Sub 

Код будет копировать данные из B4:E9 листа с именем Данные в буфер обмена. После этого он вставит данные в B5:E10 листа с именем Лист пасты из буфера обмена.

После этого,

➤ Закройте или сверните VBA окно.

➤ Нажмите ALT+F8

Это позволит открыть Макро окно.

➤ Выберите Копия_Клипборд_Диапазон в Имя макроса и нажмите кнопку Запускайте .

В результате ваши данные будут вставлены в нужное место.

➤ Перейдите к Главная вкладку и нажмите на маленький значок стрелки вниз из левого нижнего угла Буфер обмена лента.

Это откроет буфер обмена в левой части вашего файла Excel.

Теперь вы видите, что данные, которые были вставлены в лист, находятся в буфере обмена. На самом деле, сначала данные были сохранены здесь, а затем вставлены в лист отсюда.

Читать далее: Формула для копирования и вставки значений в Excel (5 примеров)

Заключение

В этой статье вы найдете 3 метода вставки из буфера обмена в Excel с помощью VBA Первые два метода вставляют содержимое буфера обмена в одну ячейку, а с помощью третьего метода можно вставить данные в диапазон. Если у вас возникли какие-либо неясности, пожалуйста, оставьте комментарий.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.