Vba: как получить значение ячейки из другого листа


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

Способ 1: получить значение ячейки из другого листа

 Sub GetCellAnotherSheet()
ActiveCell.Value = Worksheets(" Sheet2 ").Range(" A2 ") 
End Sub

Этот конкретный макрос получит значение из ячейки A2 на листе Sheet2 и вернет его в текущую активную ячейку.

Способ 2: Получить результат операции со значениями ячеек с другого листа

Вы также можете выполнить операцию с ячейками на другом листе и вернуть результат операции в текущую активную ячейку.

Например, вы можете использовать следующий синтаксис, чтобы добавить значения в диапазоне B2:B10 на Лист2 и вернуть сумму в текущую активную ячейку:

 Sub GetCellAnotherSheet()
ActiveCell.Value = WorksheetFunction.Sum(Worksheets(" Sheet2 ").Range(" B2:B10 "))
End Sub

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

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

Предположим, у нас есть следующий лист под названием Лист2 , который содержит информацию о различных баскетболистах:

Предположим, что ячейка A2 на Листе1 в настоящее время выбрана как активная ячейка.

Мы можем создать следующий макрос, чтобы получить значение в ячейке A2 листа Sheet2 и вернуть его в текущую активную ячейку:

 Sub GetCellAnotherSheet()
ActiveCell.Value = Worksheets(" Sheet2 ").Range(" A2 ") 
End Sub

Когда мы запустим этот макрос, мы увидим, что значение ячейки A2 на листе Sheet1 теперь установлено на «Mavs», что соответствует значению ячейки A2 на листе Sheet2 :

Пример 2. Получение результата операции со значениями ячеек с другого листа

Давайте снова предположим, что у нас есть следующий лист под названием Лист2 , который содержит информацию о различных баскетболистах:

Мы можем использовать следующий макрос для суммирования значений в точечном столбце Sheet2 и возврата результата в текущую активную ячейку, которая является ячейкой A2 на Sheet1 :

 Sub GetCellAnotherSheet()
ActiveCell.Value = WorksheetFunction.Sum(Worksheets(" Sheet2 ").Range(" A2 "))
End Sub

Когда мы запустим этот макрос, мы увидим, что сумма значений в диапазоне A2:A10 листа Sheet2 теперь отображается в ячейке A2 листа Sheet1 :

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

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

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

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

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