Как получить адрес ячейки, которая вызывает функции VBA в листе Excel - PullRequest
19 голосов
/ 14 февраля 2010

Есть ли функция для получения адреса ячейки, которая вызывает функцию VBA?

Я использовал «Application.ActiveCell.Address», но обнаружил, что этот метод не является правильным способом получения адреса вызывающей ячейки.

Например: если у нас есть лист Excel с сохраненными функциями VBA, после повторного открытия листа вышеуказанный метод не будет работать.

помогите пожалуйста

NiMo

1 Ответ

22 голосов
/ 14 февраля 2010

Вы можете использовать Application.Caller, но вам, вероятно, лучше передать ячейку функции.

   With Application.Caller
        CallerRows = .Rows.Count
        CallerCols = .Columns.Count
        CallerAddr = .Address
   End With

См .: http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

Чтобы пройти клетку:

 =SomeFunction(A1)

Где код имеет:

SomeFunction(r)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...