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

  1. Вариант. Создайте дополнительный аргумент и укажите нужную ячейку вручную, например, введите эту функцию =CellAddress(C3) в ячейку "C3"
    code: #vba
    Function CellAddress$(iCell As Range)
        CellAddress$ = iCell.Address
    End Function
  2. Вариант. Используйте свойство Caller объекта Application, которое возвращает ячейку, если пользовательская функция была введена в одну ячейку и диапазон ячеек, если функция была введена как формула массива или является частью другой формулы массива.
    code: #vba
    Function CellAddress$()
        CellAddress$ = Application.Caller.Address
    End Function
  3. Вариант. (Актуально только для MS Excel XP) Используйте свойство ThisCell объекта Application, которое будет возвращать одну ячейку.
    code: #vba
    Function CellAddress$()
        CellAddress$ = Application.ThisCell.Address
    End Function
Поделиться:

Похожие статьи: