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 на листе Sheet2 равным значению каждой ячейки в диапазоне A2:A11 на листе Sheet1 .

Следующие примеры показывают, как использовать каждый метод на практике.

Пример 1. Установка значения ячейки на другом листе

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

Предположим, у нас есть Лист2 , который содержит только одну строку заголовка:

Мы можем создать следующий макрос, чтобы установить значение ячейки 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 на листе Sheet1 .

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

 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 листа Sheet1 :

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

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

VBA: как найти последнюю использованную строку
VBA: как подсчитать количество строк в диапазоне
VBA: как подсчитать количество используемых столбцов

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

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