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: копіювати рядки на інший аркуш на основі критеріїв