Excel UDF возвращает огромное количество - PullRequest
1 голос
/ 11 июля 2011

Excel AddIn с использованием Excel DNA, VS2008, C #, MyUDF (param1, parm2), когда я набираю «= MyUDF» и нажимаю ввод, Excel отображает огромное число, например 970063926, и мой код c # для MyUDF не запускается

Кто-нибудь знает, что это за огромное число?

спасибо

Ответы [ 2 ]

1 голос
/ 24 июня 2015

Это немного странное поведение Excel.Возвращаемое число является внутренним идентификатором функции UDF, и, вводя имя функции без скобок, вы заставляете его обрабатывать как именованный диапазон, а не функцию.Если вы хотите вызвать функцию без аргументов, используйте:

=MyUDF()

... если вы наберете =MyUDF, тогда вы просите Excel разыменовать имя функции так же, как это было быразыменование =A1 к значению в ячейке A1 или =MyNamedRange к любому указанному именованному диапазону.

Я не думаю, что есть какое-то практическое применение наблюдаемому вами поведению, но оно, безусловноне приближается к вашему коду, чтобы получить возвращаемое значение, так что не беспокойтесь, что вы не сделали ничего плохого!

0 голосов
/ 07 января 2016

Есть ли способ избежать такого поведения? Если параметр не указан, я бы хотел, чтобы = MyUDF возвращал ошибку вместо числа.

...