Vba: как вставить только значения без форматирования
Вы можете использовать следующий синтаксис в VBA, чтобы скопировать определенный диапазон ячеек и вставить значения только в новое место без форматирования:
Sub PasteNoFormatting()
Range(" A1:D9 ").Copy
Range(" A12 ").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
Этот конкретный макрос скопирует ячейки в диапазоне A1:D9 и вставит значения ячеек без какого-либо форматирования в диапазон, начиная с ячейки A12 .
Примечание . Строка Application.CutCopyMode = False указывает, что режим вырезания и копирования должен быть отключен после выполнения макроса.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: Вставка только значений без форматирования с помощью VBA
Допустим, у нас есть следующий набор данных в Excel, содержащий информацию о различных баскетболистах:
Допустим, мы хотим скопировать и вставить все значения в диапазоне A1:D9 в новое место без форматирования.
Для этого мы можем создать следующий макрос:
Sub PasteNoFormatting()
Range(" A1:D9 ").Copy
Range(" A12 ").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что исходные значения ячеек были вставлены в новое место без какого-либо форматирования.
Примечание . Полную документацию по методу VBA PasteSpecial можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как найти последнюю использованную строку
VBA: как подсчитать количество строк в диапазоне
VBA: как подсчитать количество используемых столбцов