Vba: як скопіювати діапазон на інший аркуш


Ви можете використовувати такий синтаксис у VBA, щоб скопіювати діапазон клітинок на інший аркуш:

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial

Application.CutCopyMode = False

End Sub

Цей конкретний макрос скопіює клітинки в діапазоні A1:C11 аркуша Sheet1 і вставить їх у діапазон, починаючи з клітинки A1 аркуша Sheet2 .

Примітка . Рядок Application.CutCopyMode = False вказує, що режим вирізання та копіювання слід вимкнути після виконання макросу.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: копіювання діапазону на інший аркуш за допомогою VBA

Припустімо, у нас є такий набір даних на аркуші під назвою Sheet1 в Excel, який містить інформацію про різних баскетболістів:

Припустімо, що у нас також є ще один аркуш під назвою Sheet2 , який зараз порожній:

Скажімо, ми хочемо скопіювати всі значення в діапазоні A1:C11 з аркуша Sheet1 і вставити їх, починаючи з клітинки A1 аркуша Sheet2 .

Для цього ми можемо створити такий макрос:

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial

Application.CutCopyMode = False

End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий вихід у Sheet2 :

Зауважте, що всі значення в діапазоні A1:C11 з Sheet1 були скопійовані в Sheet2 з клітинки A1 .

За замовчуванням значення були вставлені з їх вихідним форматуванням.

Наприклад, значення рядка заголовка виділені жирним шрифтом.

Якщо ви хочете вставити лише значення без вихідного форматування, ви можете вказати Paste:=xlPasteValues так:

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial Paste=xlPasteValues

Application.CutCopyMode = False

End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий вихід у Sheet2 :

Зауважте, що лише значення (без форматування) з діапазону A1:C11 аркуша Sheet1 були скопійовані в Sheet2 .

Примітка . Ви можете знайти повну документацію для методу VBA PasteSpecial тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: як вставити лише значення без форматування
VBA: Як скопіювати видимі рядки на інший аркуш
VBA: копіювати рядки на інший аркуш на основі критеріїв

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *