2012-04-22 14 views
5

Utilizzo Excel 2010 e ho definito le seguenti 3 funzioni nel modulo del foglio di calcolo.Le funzioni VBA di Excel generano #RIF in base al nome della funzione?

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 

Quando riferimento le tre funzioni nel mio foglio immettendo il seguente in 3 celle adiacenti

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

La seconda funzione genera un errore #REF. Le altre funzioni funzionano come previsto. Qualcuno sa perché questo sta accadendo? Il motivo per cui sto chiedendo è che alcuni dei miei macro smettano di funzionare quando ho eseguito l'aggiornamento da Office XP a Office 2010. Dopo un po 'di sperimentazione, sembra che il nome della funzione sia il colpevole? L'errore non si è verificato in Excel da Office-XP.

risposta

6

La stessa cosa è successa a me. Quello che noto è che, a differenza degli altri due, "AAA2" potrebbe essere il testo di un indirizzo di cella . Sospetto che questo sia il problema.

+0

Questo è tutto. Il mio esatto nome di funzione era diverso dall'esempio sopra ... ma avrebbe potuto essere interpretato come un indirizzo di cella. – thatshowthe

+0

Hai dimenticato di dire .... Grazie! – thatshowthe

+0

+ 1 RBarryYoung :) @thatshowthe: E quindi la necessità di nominare le tue funzioni/procedure/variabili in modo appropriato è davvero importante :) vedi punto 3 http://siddharthrout.wordpress.com/2011/08/01/to-err-is -human/ –

Problemi correlati