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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Вариант. Создайте дополнительный аргумент и укажите нужную ячейку вручную, например, введите эту функцию =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