2012-04-22 2 views
5

Я использую Excel 2010 и определил следующие 3 функции в модуле электронных таблиц.Функции Excel VBA, генерирующие #REF в зависимости от имени функции?

Option Explicit 

Public Function AAA() As Double 

    AAA = 3 
End Function 

Public Function AAA2() As Double 

    AAA2 = 4 
End Function 


Public Function AAA3AAA() As Double 

    AAA3AAA = 5 
End Function 

Когда я ссылаться на три функции в моей таблице, введя следующее в 3 смежных клеток

=AAA() 
=AAA2() 
=AAA3AAA() 

Вторая функция генерирует ошибку #REF. Другие функции работают так, как ожидалось. Кто-нибудь знает, почему это происходит? Причина, по которой я прошу, заключается в том, что некоторые из моих макросов перестали работать, когда я обновился с Office XP до Office 2010. После довольно много экспериментов, похоже, что имя функции является виновником? Ошибка не произошла в Excel из Office-XP.

ответ

6

То же самое случилось со мной. Я заметил, что в отличие от двух других, «AAA2» может быть текстом сотового адреса. Я подозреваю, что это проблема.

+0

Вот и все. Мое точное имя функции отличается от приведенного выше примера ... но его можно было бы интерпретировать как адрес ячейки. – thatshowthe

+0

Забыл сказать .... Спасибо! – thatshowthe

+0

+ 1 RBarryYoung :) @thatshowthe: И, следовательно, нужно правильно назвать ваши функции/процедуры/переменные действительно :) см. Пункт 3 http://siddharthrout.wordpress.com/2011/08/08/to-err-is -human/ –

Смежные вопросы