Как понять код в посте "Получение уникальных значений в Excel ..."? - PullRequest
0 голосов
/ 26 октября 2018

Ссылаясь на ответил 27 июня 13 в 7:43 totymedli и ответил 13 апреля 16 в 0:53 Меир Шахар

Я предпочитаюрешение VBA, хотя OP не попросил его.Тем не менее, я могу проанализировать и понять большинство связанных ответов выше, кроме строки:

distance = Range(Application.Caller.Address).row - rng.row

Похоже, что плакаты используют эту конструкцию, чтобы определить, является ли результатдиапазон (или массив?) больше нулевой длины, чтобы избежать создания пустого возвращаемого значения Variant.Если это так, я не вижу необходимости в этом и могу создать полезный вывод без ссылок на целое число distance.

Я попытался провести мою должную осмотрительность, однако обычноЗагадочный Справка Microsoft была менее чем полезна для меня.Если бы кто-то мог объяснить, пожалуйста, использование / природу конструкции Application.Caller.Address (даже лучше - в данном конкретном случае), я мог бы лучше судить, действительно ли мне нужно ее использовать.

1 Ответ

0 голосов
/ 26 октября 2018

Если вы используете Application.Caller.Address в пользовательской функции (UDF), она возвращает адрес ячейки, которая содержит формулу, которая вызывает UDF.

Например, если ячейка B2 содержит формулу =listUnique(A1:A10), то Application.Caller.Address вернет адрес B$2$.

...