Подтвердить что ты не робот

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

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

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

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

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

NiMo

4b9b3361

Ответ 1

Вы можете использовать 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)