Vba: как вставить значения и сохранить форматирование


Вы можете использовать следующий синтаксис в VBA, чтобы скопировать диапазон ячеек и вставить значения и исходное форматирование в новое место:

 Sub PasteWithFormatting()

Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False

End Sub

Этот конкретный макрос скопирует ячейки в диапазоне A1:C11 и вставит значения ячеек с их форматированием в диапазон, начиная с ячейки A13 .

Примечание . Строка Application.CutCopyMode = False указывает, что режим вырезания и копирования должен быть отключен после запуска макроса.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: вставка значений и продолжение форматирования с помощью VBA

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

Допустим, мы хотим скопировать и вставить все значения в диапазоне A1:C11 в новое место, сохранив форматирование.

Для этого мы можем создать следующий макрос:

 Sub PasteWithFormatting()

Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False

End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Обратите внимание, что исходные значения ячеек были вставлены с их форматированием в диапазон ячеек, начиная с ячейки A13 .

Примечание . Полную документацию по методу VBA PasteSpecial можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: Как вставить только значения без форматирования
VBA: как скопировать видимые строки на другой лист
VBA: скопировать строки на другой лист на основе критериев

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

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