Excel VBA Paste Values

Ежедневно мы обычно используем функцию копирования / вставки в Excel часто. Помимо копирования / вставки, мы также можем форматировать данные с помощью различных нижеуказанных опций, доступных в специальной вставке.

Функция VBA PASTE VALUES Вставляет только значения скопированного диапазона данных, отображаемые в ячейках.

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

В окне макроса VB нажатие клавиш CTRL + SPACE поможет вам в раскрывающемся списке VBA Intellisense, который поможет при написании кода. После ввода PASTE SPECIAL и щелчка по пробелу, указанному ниже, появляются различные варианты вставки, которые также содержат значения xLPasteValues.

Синтаксис для вставки значений в Excel VBA

Синтаксис для функции вставки значения VBA в Excel выглядит следующим образом:

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

Здесь, со ссылкой на лист Excel, объект диапазона VBA - это ячейки, которые могут быть как одиночными, так и множественными.

Тип XlPaste:

Различные типы пасты, которые отображаются в раскрывающемся списке PASTE SPECIAL:

Тип операции XlPaste:

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

  • (Пропуск пропусков): если вы хотите пропустить пропуски, вы можете выбрать один из вариантов, т. Е. ИСТИНА или ЛОЖЬ.
  • (Транспонировать): если вы хотите транспонировать данные, вы можете выбрать один из вариантов, т. Е. ИСТИНА или ЛОЖЬ

Предположим, у меня есть исходные данные в диапазоне от G7 до J10, которые содержат оценки учащихся и их результаты со ссылкой на регистрационный идентификатор, где он содержит формулы, текстовые данные и числовые данные.

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

Как использовать функцию вставки значений в Excel VBA?

Ниже приведены различные примеры использования функции вставки значений в Excel с использованием кода VBA.

Вы можете скачать этот шаблон Excel для вставки значений VBA здесь - Шаблон Excel для вставки значений VBA

Функция вставки значений VBA - пример № 1

Шаг 1. Откройте окно редактора VB с помощью сочетания клавиш Alt + F11. Выберите или нажмите Visual Basic в группе «Код» на вкладке «Разработчик».

Шаг 2. Чтобы создать пустой модуль, щелкните правой кнопкой мыши объекты Microsoft Excel, щелкните « Вставить» и в разделе меню выберите « Модуль», где создается пустой модуль, в разделе свойств категории (ИМЯ) можно переименовать как «VB_PASTE_VALUES»

Код:

 Sub PASTE_VALUES () End Sub 

Шаг 3: Мне нужно сначала скопировать диапазон данных с помощью Range. Метод копирования (для копирования определенного диапазона данных), т. Е. Из G7 в J10 из имени листа «VB_PASTE_VALUES» для копирования диапазона, мне нужно применить или добавить нижеуказанный код после подпункта.

Код:

 Sub PASTE_VALUES () Диапазон ("g7: j10"). Копировать End Sub 

Шаг 4: После копирования данных мне нужно вставить значения от G14 до J17. Здесь первая ссылка диапазона - G14, здесь я могу ввести «G14» ИЛИ я могу ввести «G14 - J17». После выбора диапазона мне нужно вставить. Итак, для этого поставьте точку (.) После диапазона и введите PasteSpecial, как только вы нажмете клавишу пробела, появятся нижеупомянутые различные параметры xlpastetype, в которых выберите xlPasteValues

Код:

 Sub PASTE_VALUES () Range ("g7: j10"). Copy Range ("g14"). PasteSpecial xlPasteValues ​​End Sub 

Шаг 5: После запуска этого кода он скопировал данные из G7 в J10 и вставил из G14 в J17 в качестве значений.

Теперь, в вышеупомянутом примере, есть разница в формате таблицы между скопированными и вставленными данными. (Изменения форматирования).

Шаг 6: Если вы хотите использовать тот же формат таблицы, вам необходимо обновить код с помощью указанных ниже изменений, где вам нужно использовать одну дополнительную строку кода xlPasteformat до xlPastevalues

Код:

 Sub PASTE_VALUES () Range ("g7: j10"). Copy Range ("g14: j17"). PasteSpecial xlPasteFormats Range ("g14: j17"). PasteSpecial xlPasteValues ​​End Sub 

Шаг 7: Когда вы запустите приведенный выше код, он сначала скопирует и вставит формат таблицы, а затем вставит значения.

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

Вы можете удалить это, обновив макрос с помощью кода последней строки перед конечной подкомандой, т.е.

Application.cutcopymode = false приведенный выше код отключит марширующие муравьи вокруг скопированного диапазона

Функция вставки значений VBA - пример №2

В первом примере мы скопировали и вставили данные в один лист,

Теперь предположим, что вы хотите скопировать данные с одного листа на другой лист, давайте посмотрим, как мы можем выполнить эту задачу

Шаг 1: В редакторе VBA у меня есть имя PASTE_VALUES3 () после ввода Sub

Код:

 Sub PASTE_VALUES_3 () End Sub 

Шаг 2: Прежде чем выбрать диапазон, нам нужно сообщить, из какого листа должны быть выбраны данные, поэтому необходимо выбрать рабочий лист, после этого нам нужно выбрать диапазон с помощью range.Copy метод похож на пример 1

Код:

 Sub PASTE_VALUES_3 () Рабочие листы ("VB_PASTE_VALUES"). Диапазон ("g7: j10"). Копировать End Sub 

В приведенном выше коде имя рабочего листа - «VB_PASTE_VALUES», а диапазон данных - «g7: j10»

Шаг 3: На следующем шаге мы вставляем данные в другой лист, поэтому нам нужно выбрать этот лист по его имени и диапазону, куда нам нужно вставить данные, после диапазона нам нужно ввести функцию pastespecial и опцию вставки типа, т.е. PasteSpecial xlPasteValue

Код:

 Sub PASTE_VALUES_3 () Рабочие листы ("VB_PASTE_VALUES"). Диапазон ("g7: j10"). Копировать рабочие листы ("Sheet2"). Диапазон ("A1"). PasteSpecial xlPasteValues ​​End Sub 

Шаг 4: В конце кода, перед end sub, нам нужно ввести вышеупомянутый код, где он отключит марширующие муравьи вокруг скопированного диапазона.

Код:

 Sub PASTE_VALUES_3 () Рабочие листы ("VB_PASTE_VALUES"). Диапазон ("g7: j10"). Копировать рабочие листы ("Sheet2"). Диапазон ("A1"). PasteSpecial xlPasteValues ​​Application.CutCopyMode = False End Sub 

Шаг 5: Теперь код готов, после того, как вы запустите вышеупомянутый код, он вернет нижеупомянутый вывод в sheet2, то есть скопированные данные будут вставлены в sheet2 из ячейки A1 (как значения вставки)

Думает запомнить

  • Одновременно может быть выполнена только одна специальная задача вставки, это может быть тип вставки или операция вставки. Специальная вставка (Вставить, Операция, SkipBlanks, Транспонировать). В специальной функции вставки все четыре аргумента являются необязательными, где важны первые два аргумента, с помощью которых мы можем управлять значениями набора данных (форматирование, раскраска и проверка данных).
  • Параметры вставки типа в специальной вставке важны и полезны при форматировании данных при извлечении данных из различных баз данных.
  • В VBA, только для вставки значений, есть различные другие опции, доступные помимо диапазона.

Рекомендуемые статьи

Это руководство по VBA Paste Values. Здесь мы обсудим, как использовать функцию вставки Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Функция копирования и вставки в VBA
  2. Функция подстроки Excel
  3. Индекс VBA вне диапазона
  4. Excel ISNUMBER Formula

Категория: