Podsumowanie
W wersjach programu Microsoft Excel wymienionych w sekcji "Dotyczy" można utworzyć funkcję zdefiniowaną przez użytkownika, która zwraca obliczenia niestandardowe przy użyciu Visual Basic for Applications. Funkcje zdefiniowane przez użytkownika nie mogą jednak wykonywać akcji zmieniających środowisko programu Microsoft Excel wywoływanych przez formułę w komórce arkusza.
Więcej informacji
Funkcja zdefiniowana przez użytkownika wywoływana przez formułę w komórce arkusza nie może zmienić środowiska programu Microsoft Excel. Oznacza to, że taka funkcja nie może wykonać żadnej z następujących czynności:
-
Wstawianie, usuwanie lub formatowanie komórek w arkuszu kalkulacyjnym.
-
Zmienianie wartości innej komórki.
-
Przenoszenie, zmienianie nazw, usuwanie lub dodawanie arkuszy do skoroszytu.
-
Zmień dowolne opcje środowiska, takie jak tryb obliczania lub widoki ekranu.
-
Dodawanie nazw do skoroszytu.
-
Ustaw właściwości lub wykonaj większość metod.
Celem funkcji zdefiniowanych przez użytkownika jest zezwolenie użytkownikowi na utworzenie funkcji niestandardowej, która nie jest zawarta w funkcjach dostarczanych z programem Microsoft Excel. Funkcje zawarte w programie Microsoft Excel również nie mogą zmieniać środowiska. Funkcje mogą wykonywać obliczenia, które zwracają wartość lub tekst do komórki, w którą są wprowadzane. Wszelkie zmiany środowiskowe powinny zostać wprowadzone przy użyciu podukuty języka Visual Basic. Podczas obliczeń program Excel sprawdza poprzedniki komórki zawierającej funkcję zdefiniowaną przez użytkownika. Jeśli nie wszystkie poprzedniki zostały obliczone do tej pory podczas procesu obliczania, program Excel w końcu wywołuje funkcję zdefiniowaną przez użytkownika i przekazuje funkcję w komórce Null lub Empty. Następnie program Excel zapewnia, że wystąpi wystarczająca liczba obliczeń, aby obliczyć wszystkie poprzedniki. Podczas ostatniego obliczenia funkcja zdefiniowana przez użytkownika jest przekazywana do bieżących wartości komórek. Może to spowodować, że funkcja zdefiniowana przez użytkownika będzie wywoływana częściej niż oczekiwano i z nieoczekiwanymi argumentami. W związku z tym funkcja zdefiniowana przez użytkownika może zwracać nieoczekiwane wartości.W przypadku poprawnego obliczania wszystkie zakresy użyte w obliczeniach powinny zostać przekazane do funkcji jako argumenty. Jeśli zakresy obliczeń nie zostaną przekazane jako argumenty, zamiast odwoływać się do zakresów w kodzie VBA funkcji, program Excel nie będzie mógł uwzględnić ich w auli obliczeniowej. Dlatego program Excel może nie obliczać skoroszytu w odpowiedni sposób, aby upewnić się, że wszystkie poprzedniki są obliczane przed obliczeniem funkcji zdefiniowanej przez użytkownika.
Informacje
"Podręcznik użytkownika języka Visual Basic" w wersji 5.0, rozdział 4, "Co to jest procedura języka Visual Basic" "Pisanie funkcji arkusza zdefiniowanej przez użytkownika", plik Pomocy programu Microsoft Excel 7.0 Visual Basic.