2009-05-21 3 views
5

zdefiniowałem funkcję w VBA w następujący sposóbKiedy próbuję użyć funkcji VBA, że już zdefiniowany w arkuszu kalkulacyjnym Excel, otrzymuję „To nie jest ważna funkcja”

Public Function Distance(X, Y) as Double 

Następnie w komórce Próbuję użyć tej funkcji. Wpisuję "@Dis" i otrzymuję rozwijane menu, wybieram funkcję, a następnie wprowadzam parametry kończące się na @Distance (A1, A2) w komórce.

Po naciśnięciu klawisza Enter pojawia się błąd "Ta funkcja nie jest poprawna".

Uaktywniłem makra w całym systemie, próbowałem zapisać je jako stary format i jako format skoroszytu z włączoną obsługą makr bezskutecznie.

Co jest nie tak z moim użyciem tej funkcji?

Odpowiedz

6

Spróbuj użyć:

=Distance(A1, A2) 

Zamiast

@Distance(A1, A2) 

Nigdy nie widziałem @ jako prawidłowego charakteru do wywołania funkcji w programie Excel.

Próbowałem następujących w programie Excel i działa jak czar:

W Module1:

Public Function Distance(X as Double, Y as Double) as Double 
    Distance = 10 
End Function 

W komórce:

=Distance(A1, A2) 

Który produ CES Rezultatem

prawidłowo.

+0

@ został użyty w formułach w arkuszu kalkulacyjnym Lotus 1-2-3 ... – ZEE

6

Należy również upewnić się, że kod VBA dla funkcji jest w module Module, a nie w obszarze kodu arkusza.

3

Nie używaj słów zastrzeżonych jako nazw swoich funkcji. Wypróbowałem jedną nazwę Parse() i kopnąłem ją, dopóki nie zmieniłem nazwy na ParseString().

+0

To był mój przypadek, inne odpowiedzi nie pomogły. – Taosique

Powiązane problemy