Jak tworzyć funkcje zdefiniowane przez użytkownika w programie Microsoft Excel

Spisu treści:

Jak tworzyć funkcje zdefiniowane przez użytkownika w programie Microsoft Excel
Jak tworzyć funkcje zdefiniowane przez użytkownika w programie Microsoft Excel

Wideo: Jak tworzyć funkcje zdefiniowane przez użytkownika w programie Microsoft Excel

Wideo: Jak tworzyć funkcje zdefiniowane przez użytkownika w programie Microsoft Excel
Wideo: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Może
Anonim

Chociaż program Excel ma już setki wbudowanych funkcji, takich jak SUMA, WYSZUKAJ. PIONOWO, LEWO itd., dostępne funkcje wbudowane zwykle nie wystarczają do wykonywania dość złożonych zadań. Nie martw się jednak, ponieważ wystarczy samodzielnie utworzyć wymagane funkcje.

Krok

Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 1
Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 1

Krok 1. Utwórz nowy skoroszyt lub otwórz skoroszyt, który chcesz przetworzyć za pomocą funkcji zdefiniowanych przez użytkownika (UDF)

Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 2
Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 2

Krok 2. Otwórz Edytor Visual Basic w programie Microsoft Excel poprzez Narzędzia->Makro-> Edytor Visual Basic (lub naciśnij skrót Alt+F11)

Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 3
Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 3

Krok 3. Kliknij przycisk Moduł, aby dodać nowy moduł do arkusza roboczego

Możesz utworzyć UDF w skoroszycie bez dodawania nowego modułu, ale funkcja nie będzie działać w innych arkuszach w tym samym skoroszycie.

Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 4
Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 4

Krok 4. Utwórz „głową” lub „prototyp” swojej funkcji

Prototyp funkcji musi mieć następującą strukturę:

funkcja publiczna "Nazwa funkcji" (parametr1 jako typ1, parametr2 jako typ2) jako typ wyniku.

Prototypy mogą mieć jak najwięcej funkcji, a ich typami mogą być wszystkie podstawowe typy danych lub typy obiektów Excela w postaci Range. Możesz myśleć o parametrach jako o „operantach” (operatorach), na których funkcja będzie działać. Na przykład, gdy napiszesz SIN(45), aby obliczyć sinus 45 stopni, liczba 45 zostanie przyjęta jako parametr. Następnie kod funkcji użyje tych wartości do wykonania obliczeń i wyświetlenia wyników.

Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 5
Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 5

Krok 5. Dodaj kod funkcji, aby upewnić się, że: 1) używasz wartości podanej przez parametr; 2) przekazać wynik do nazwy funkcji; oraz 3) zamknij funkcję zdaniem „zakończ funkcję”. Nauka programowania w VBA lub w jakimkolwiek innym języku wymaga dużo czasu i szczegółowych wskazówek. Na szczęście te funkcje zwykle mają małe bloki kodu i nie wykorzystują zbyt wiele funkcji języka programowania. Oto niektóre elementy języka VBA, których można użyć:

  1. Blok If (if), który umożliwia wykonanie części kodu tylko wtedy, gdy warunek jest spełniony. Jako przykład:
  2. Wynik kursu funkcji publicznej (jako wartość całkowita) jako ciąg

    Jeśli wartość >= 5 Wtedy

    Wyniki kursu = „Zaakceptowane”

    W przeciwnym razie

    Wyniki kursu = „Odrzucone”

    Zakończ, jeśli

    Koniec funkcji

    Zwróć uwagę na elementy w bloku kodu If:

    IF warunek THEN kod ELSE kod END IF

  3. . Możesz pominąć słowo kluczowe Else wraz z drugą częścią kodu, ponieważ jest to opcjonalne.
  4. Blok Do (do), który wykonuje część kodu While lub Until, gdy warunek zostanie spełniony. Jako przykład:
  5. Funkcja publiczna BilPrima (wartość jako liczba całkowita) jako Boolean

    Dim i jako liczba całkowita

    ja = 2

    BilPrima = Prawda

    Robić

    Jeśli wartość / i = Int(wartość / i) Wtedy

    BilPrima = Fałsz

    Zakończ, jeśli

    ja = ja + 1

    Pętla While i < value And NumberPrima = True

    Koniec funkcji

    Spójrz ponownie na elementy:

    ZRÓB kod PĘTLA PODCZAS/DO warunku

  6. . Zwróć także uwagę na drugą linię, która "deklaruje" zmienną. Możesz dodać zmienne do kodu do późniejszego wykorzystania. Zmienne pełnią rolę wartości tymczasowych w kodzie. Na koniec rozważ deklarację funkcji jako BOOLEAN, która jest typem danych, który dopuszcza tylko wartości TRUE lub FALSE. Ta metoda wyznaczania liczb pierwszych jest daleka od optymalnej, ale kod został napisany w taki sposób, aby był łatwy do odczytania.
  7. Do bloku (to), który wykonuje określoną ilość kodu. Jako przykład:
  8. Silnia funkcji publicznej (wartość jako liczba całkowita) jako długa

    Przyciemnij wyniki tak długo

    Dim i jako liczba całkowita

    Jeśli wartość = 0 Wtedy

    wynik = 1

    Wartość ElseIf = 1 Wtedy

    wynik = 1

    W przeciwnym razie

    wynik = 1

    Dla i = 1 Do wartości

    wynik= wynik * i

    Następny

    Zakończ, jeśli

    Silnia = wynik

    Koniec funkcji

    Spójrz ponownie na elementy:

    FOR zmienna = dolna granica TO górna granica kodu NEXT

    . Zwróć także uwagę na dodatkowy element ElseIf w instrukcji If, który umożliwia dodanie większej liczby opcji do wykonywanego kodu. Na koniec rozważmy funkcję „wynik” i zmienną zadeklarowaną jako Long. Typ danych Long dopuszcza znacznie większe wartości niż Integer.

    Poniżej przedstawiono kod funkcji, która zamienia małe liczby na słowa.

    Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 6
    Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 6

    Krok 6. Wróć do skoroszytu i użyj funkcji, wpisując symbol „równa się” (=), a następnie nazwę funkcji w komórce

    Wpisz nawiasy otwierające („(”) po nazwie funkcji, używając znaku śpiączka aby oddzielić parametry i zakończyć nawiasami zamykającymi („)”). Jako przykład:

    =LiczbaDoLitery(A4)

    . Możesz również skorzystać z domowych receptur, wyszukując je w kategoriach Określony przez użytkownika wewnątrz opcji Wstaw formułę. Wystarczy kliknąć przycisk Fx po lewej stronie paska formuły. W funkcjach występują trzy typy formularzy parametrów:

    1. Wartość stała, która jest wpisywana bezpośrednio do formuły komórki. W takim przypadku tekst (łańcuch) musi być ujęty w cudzysłów.
    2. Na przykład odwołania do komórek B6 lub zakres jak A1:C3 (parametr musi być typem danych „ Zakres”)
    3. Inna funkcja, która jest zawarta w twojej funkcji (twoja funkcja może być również zawarta w innej funkcji), na przykład: =Factorial(MAX(D6:D8))

      Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 7
      Utwórz funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel Krok 7

      Krok 7. Upewnij się, że wyniki są prawidłowe

      Użyj go kilka razy, aby upewnić się, że funkcja jest w stanie poprawnie obsługiwać różne wartości parametrów:

      Porady

      • Pisząc bloki kodu w strukturach kontrolnych, takich jak If, For, Do itp., upewnij się, że blok kodu został wcięty (nieznacznie wstawiony lewą ramkę wiersza do środka), naciskając kilkakrotnie spację lub tab. Dzięki temu kod będzie łatwiejszy do zrozumienia, a błędy znacznie łatwiejsze do znalezienia. Ponadto zwiększenie funkcjonalności staje się łatwiejsze do wykonania.
      • Jeśli nie wiesz, jak napisać kod funkcji, przeczytaj artykuł Jak napisać proste makro w programie Microsoft Excel.
      • Czasami funkcje nie potrzebują wszystkich parametrów do obliczenia wyniku. W takim przypadku możesz użyć słowa kluczowego Optional przed nazwą parametru w nagłówku funkcji. Możesz użyć funkcji IsMissing(parameter_name) w kodzie, aby określić, czy parametrowi przypisano wartość, czy nie.
      • Używaj nieużywanych nazw jako funkcji w programie Excel, aby żadne funkcje nie były zastępowane ani usuwane.
      • Excel ma wiele wbudowanych funkcji i większość obliczeń można wykonać za pomocą tych wbudowanych funkcji, pojedynczo lub wszystkich naraz. Upewnij się, że rzuciłeś okiem na listę dostępnych funkcji, zanim zaczniesz samodzielnie kodować. Wykonanie można wykonać szybciej, jeśli używasz wbudowanych funkcji.

      Ostrzeżenie

      • Ze względów bezpieczeństwa wiele osób wyłącza makra. Upewnij się, że powiadamiasz odbiorców skoroszytu, że przesłany skoroszyt zawiera makra i że te makra nie spowodują uszkodzenia ich komputerów.
      • Funkcja użyta w tym artykule nie jest najlepszym sposobem rozwiązania powiązanego problemu. Przykład służy do wyjaśnienia użycia struktur kontroli języka.
      • VBA, podobnie jak inne języki, ma kilka innych struktur kontrolnych oprócz Do, If i For. Omawiana tutaj struktura opisuje jedynie, co można zrobić w kodzie źródłowym funkcji. W Internecie jest wiele przewodników, które mogą pomóc w nauce VBA.

Zalecana: