Определить адрес ячейки, в которой находится пользовательская функция — Visual Basic(Бейсик)

Вариант. Создайте дополнительный аргумент и укажите нужную ячейку вручную, например, введите эту функцию =CellAddress(C3) в ячейку "C3"

Function CellAddress$(iCell As Range)
    CellAddress$ = iCell.Address
End Function
Вариант. Используйте свойство Caller объекта Application, которое возвращает ячейку, если пользовательская функция была введена в одну ячейку и диапазон ячеек, если функция была введена как формула массива или является частью другой формулы массива.

Function CellAddress$()
    CellAddress$ = Application.Caller.Address
End Function
Вариант. (Актуально только для MS Excel XP) Используйте свойство ThisCell объекта Application, которое будет возвращать одну ячейку.

Function CellAddress$()
    CellAddress$ = Application.ThisCell.Address
End Function

Leave a Comment