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: як підрахувати кількість використаних стовпців