2012-04-22 22 views
5

Korzystam z programu Excel 2010 i zdefiniowałem następujące 3 funkcje w module arkusza kalkulacyjnego.Excel VBA funkcje generujące #REF w zależności od nazwy funkcji?

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 

Gdy odniesienie trzy funkcje w arkuszu kalkulacyjnym wprowadzając następujące w 3 sąsiednich komórek

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

Druga funkcja generuje błąd #ADR. Pozostałe funkcje działają zgodnie z oczekiwaniami. Czy ktoś wie, dlaczego tak się dzieje? Powodem, dla którego pytam, jest to, że niektóre z moich makr przestały działać po uaktualnieniu z pakietu Office XP do pakietu Office 2010. Po dość długim eksperymentowaniu okazuje się, że nazwa funkcji jest sprawcą? Błąd nie wystąpił w programie Excel z pakietu Office-XP.

Odpowiedz

6

To samo przydarzyło się mi. Zauważyłem, że w przeciwieństwie do dwóch pozostałych, "AAA2" może być tekstem adresu komórki . Podejrzewam, że to jest problem.

+0

To wszystko. Moja dokładna nazwa funkcji była inna niż w powyższym przykładzie ... ale mogła zostać zinterpretowana jako adres komórki. – thatshowthe

+0

Zapomniałem powiedzieć ... Dziękuję! – thatshowthe

+0

+ 1 RBarryYoung :) @thatshowthe: A zatem potrzeba nazwania twoich funkcji/procedur/zmiennych odpowiednio ma znaczenie :) patrz punkt 3 http://siddharthrout.wordpress.com/2011/08/01/to-err-is -human/ –