Моя пользовательская Excel Excel UDF недоступна (значение ячейки = # ИМЯ?) - PullRequest
0 голосов
/ 10 мая 2019

Я создал UDF Excel через ALT + F11 в своем собственном модуле. Прочитал много уроков, где все кажется таким простым (что вы можете использовать свой UDF в каждой ячейке открытой Рабочей книги). Но я не могу использовать свою функцию.

Перепробовал две тестовые функции в модуле (Test и Test2).

Все проверено (отключена защита всех макросов, разрешен доступ к модели проекта VBA), но я не вижу своей пользовательской функции, когда я набираю "=" в ячейке.

Я использую Excel в активной лицензии Office 365. Поэтому это самая новая версия.

Что может привести к тому, что мой UDF не применим в ячейке Excel? Я просто получаю "#NAME?" / "#ЗНАЧЕНИЕ?" как результат и нет автоматического предложения имени функции ...

Может быть, у кого-нибудь есть подсказка для меня, что может вызвать эту проблему. Thx!

Public Function test()
    test = 1
End Function

Public Static Function test2()
    test2 = 123
End Function

1 Ответ

1 голос
/ 10 мая 2019

@ RonRosenfeld,

Это чтобы продемонстрировать, какое поведение я вижу:

  • Сценарий 1: функция вставлена ​​в ThisWorkbook, вызывая ее в Sheet1:

enter image description here

  • Сценарий 2: функция вставлена ​​в Sheet2, вызывая ее на листе 1:

enter image description here

  • Сценарий 3: функция вставлена ​​в Module1, вызывая ее на листе 1:

enter image description here

Вот почему я пришел к выводу, что () должно отсутствовать, чтобы показать ошибку #NAME, так как в противном случае была бы синтаксическая ошибка.

@ OP, Вы, кажется, поместили свою функцию вмодуль класса, вместо обычного модуля.

enter image description here

...