Vba: як встановити значення клітинки на іншому аркуші
У VBA можна використовувати такі методи, щоб установити значення клітинки на іншому аркуші:
Спосіб 1. Встановіть значення клітинки на іншому аркуші
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
Цей конкретний макрос встановить значення комірки A2 на аркуші Sheet2 рівним значенню клітинки A2 на аркуші Sheet1 .
Спосіб 2: установіть кілька значень клітинок на іншому аркуші
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
Цей конкретний макрос встановлює значення кожної комірки в діапазоні A2:A11 на Аркуші2 рівним значенню кожної клітинки в діапазоні A2:A11 на Аркуші1 .
Наступні приклади показують, як використовувати кожен метод на практиці.
Приклад 1: установіть значення клітинки на іншому аркуші
Припустімо, що у нас є аркуш Sheet1 , який містить назви різних баскетбольних команд:
І припустимо, що у нас є аркуш Sheet2 , який містить лише один рядок заголовка:
Ми можемо створити такий макрос, щоб встановити значення комірки A2 аркуша Sheet2 рівним значенню комірки A2 аркуша Sheet1 :
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
Коли ми запускаємо цей макрос, ми бачимо, що значення комірки A2 аркуша Sheet2 тепер встановлено на «Mavs», що відповідає значенню комірки A2 аркуша Sheet1 :
Приклад 2: установіть кілька значень клітинок на іншому аркуші
Припустімо, ми хочемо встановити значення кожної комірки в діапазоні A2:A11 аркуша Sheet2 рівним кожній клітинці в діапазоні A2:A11 аркуша1 .
Для цього ми можемо створити такий макрос:
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
Коли ми запускаємо цей макрос, ми бачимо, що значення в діапазоні A2:A11 аркуша Sheet2 тепер налаштовані такими ж, як значення в діапазоні A2:A11 аркуша1 :
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як знайти останній використаний рядок
VBA: як підрахувати кількість рядків у діапазоні
VBA: як підрахувати кількість використаних стовпців