Jak utworzyć funkcję zdefiniowaną przez użytkownika w programie Microsoft Excel

Autor: Alice Brown
Data Utworzenia: 4 Móc 2021
Data Aktualizacji: 15 Móc 2024
Anonim
Excel VBA Intermediate Tutorial - Creating User Defined Functions (UDFs)
Wideo: Excel VBA Intermediate Tutorial - Creating User Defined Functions (UDFs)

Zawartość

Mimo że program Excel ma wiele, prawdopodobnie setki wbudowanych funkcji, takich jak SUMA, WYSZUKAJ.PIONOWO, W LEWO itd., Kiedy zaczynasz używać programu Excel do bardziej skomplikowanych zadań, często okazuje się, że potrzebujesz funkcji, która nie istnieje. Nie martw się, nie wszystko jest stracone; wszystko, czego potrzebujesz, to stworzyć żądaną funkcję.

Kroki

  1. Utwórz nowy skoroszyt lub otwórz skoroszyt, w którym chcesz użyć nowo utworzonej funkcji zdefiniowanej przez użytkownika (FDU).

  2. Otwórz Edytor Visual Basic który jest wbudowany w Microsoft Excel, przechodząc do Narzędzia-> Makro-> Edytor Visual Basic (lub naciskając Alt + F11).

  3. Dodaj nowy moduł do skoroszytu, klikając wskazany przycisk. Możesz utworzyć funkcję zdefiniowaną przez użytkownika w samym arkuszu bez dodawania nowego modułu, ale uniemożliwi to używanie jej w innych arkuszach w tym samym skoroszycie.

  4. Utwórz „nagłówek” lub „prototyp” swojej funkcji. Musisz mieć następującą strukturę: funkcja publiczna TheNameOfYourFunction (param1 As type1, param2 As type2) As returnType Może być dowolna liczba parametrów, a ich typem może być dowolny z podstawowych typów danych lub typów obiektów programu Excel, takich jak Range. Możesz myśleć o parametrach jako o „operandach”, na których będzie działać twoja funkcja. Na przykład, kiedy powiesz SIN (45), aby obliczyć sinus 45 stopni, 45 zostanie przyjęte jako parametr. Następnie kod funkcji użyje tej wartości do wykonania obliczeń i przedstawienia wyniku.
  5. Dodaj kod funkcji, upewniając się, że: 1) stosować wartości podane w parametrach; 2) przypisać wynik do nazwy funkcji; i 3) zamknij funkcję za pomocą „end function”. Nauka programowania w VBA lub innym języku może zająć trochę czasu i wymagać szczegółowego samouczka. Jednak funkcje często mają małe bloki kodu i wykorzystują niewiele zasobów językowych. Najbardziej przydatne elementy języka VBA to:
    1. Blok Gdyby, co pozwala na uruchomienie części kodu tylko wtedy, gdy zostanie spełniony warunek. Na przykład:


      Funkcja publiczna CourseResult (grid As Integer) As String
      Jeśli stopień> = 5 Wtedy
      CourseResult = "Zatwierdzono"
      Jeszcze
      CourseResult = "Odrzucono"
      Koniec, jeśli
      Funkcja zakończenia

      Zwróć uwagę na elementy w bloku kodu Gdyby: JEŚLI warunek TO kod INNY kod KONIEC JEŻELI. Słowo kluczowe Jeszcze wraz z drugą częścią kodu są opcjonalne.
    2. Blok Z, który wykonuje fragment kodu Podczas (podczas) lub Aż do (aż) warunek zostanie spełniony. Na przykład:

      Funkcja publiczna IsPrime (wartość As Integer) As Boolean
      Dim i As Integer
      i = 2
      IsPrime = True
      Z
      Jeśli wartość / i = Int (wartość / i) Wtedy
      IsPrime = False
      Zakończ, jeśli
      i = i + 1
      Loop While i <value And IsPrime = True
      Funkcja zakończenia

      Spójrz ponownie na elementy: DO kodu PĘTLA warunek WHILE / UNTIL. Zwróć także uwagę na drugą linię, w której zmienna jest „zadeklarowana”. Możesz dodawać zmienne do swojego kodu, aby móc ich później użyć. Zmienne pełnią rolę tymczasowych wartości w kodzie. Na koniec spójrz na deklarację funkcji jako BOOLEAN, który jest typem danych, który dopuszcza tylko wartości TRUE i FALSE. Ta metoda określania, czy liczba jest liczbą pierwszą, nie jest idealna, ale wolę to zostawić, aby kod był łatwiejszy do odczytania.
    3. Blok Dla, który wykonuje fragment kodu określoną liczbę razy. Na przykład:

      Silnia funkcji publicznej (wartość jako liczba całkowita) As Long
      Dim wynik As Long
      Dim i As Integer
      Jeśli wartość = 0 Wtedy
      wynik = 1
      ElseIf wartość = 1 Wtedy
      wynik = 1
      Jeszcze
      wynik = 1
      Dla i = 1 do wartości
      wynik = wynik * i
      Kolejny
      Koniec, jeśli
      Silnia = wynik
      Funkcja zakończenia

      Spójrz ponownie na elementy:FOR zmienna = dolna granica DO górnego kodu granicznego NASTĘPNY. Zwróć także uwagę na element Inaczej jeśli dodane w oświadczeniu Gdyby, co pozwala na dodanie większej liczby opcji kodu do wykonania. Na koniec spójrz na deklarację funkcji i zmienną „wynik” jako Długo. Typ danych Długo dopuszcza znacznie wyższe wartości niż „Integer”.

      Poniżej znajduje się kod funkcji konwertującej liczby na słowa.
  6. Wróć do skoroszytu i użyj funkcji, rozpoczynając zawartość komórki od równy po którym następuje nazwa Twojej roli. Dodaj nawias otwierający do nazwy funkcji, parametry oddzielone przecinek i ostatni nawias zamykający. Na przykład:= NumberToLetters (A4) Możesz również użyć formuły zdefiniowanej przez użytkownika, wyszukując ją w kategorii Zdefiniowane przez użytkownika w kreatorze, aby wprowadzić formułę. Wystarczy kliknąć przycisk Fx znajdujący się po lewej stronie paska formuły. Parametry mogą być trzech typów:
    1. Stałe wartości wprowadzane bezpośrednio do formuły komórki. W tym przypadku ciągi znaków należy ująć w cudzysłowy.
    2. Odwołania do komórek, takie jak B6 lub interwały, takie jak A1: C3 (parametr musi być typu Przerwa"")
    3. Inne funkcje uporządkowane w ramach funkcji (funkcja może być również pogrupowana w ramach innych funkcji). To jest: = Silnia (MAX (D6: D8))
  7. Sprawdź, czy wynik jest OK po kilkukrotnym użyciu funkcji upewnij się, że poprawnie obsługuje ona różne wartości parametrów:

Porady

  • Za każdym razem, gdy piszesz blok kodu w strukturze kontrolnej, takiej jak If, For, Do itp., Pamiętaj, aby wciąć blok za pomocą spacji lub tabulatorów (styl wcięcia zależy od Ciebie).W ten sposób Twój kod będzie łatwiejszy do zrozumienia i dużo łatwiej będzie wykryć błędy i ulepszyć kod.
  • Program Excel ma wiele wbudowanych funkcji i większość obliczeń można wykonać, używając ich osobno lub w połączeniu. Przeszukaj listę dostępnych funkcji przed uruchomieniem własnego kodu. Wykonanie może być szybsze, jeśli używasz funkcji wbudowanych.
  • Czasami funkcja może nie wymagać wszystkich parametrów do obliczenia wyniku. W takim przypadku możesz użyć słowa kluczowego Opcjonalny przed nazwą parametru w nagłówku funkcji. Możesz użyć IsMissing (nazwa_parametru) w kodzie, aby określić, czy wartość została przypisana do parametru, czy nie.
  • Jeśli nie wiesz, jak napisać kod funkcji, przeczytaj artykuł Jak napisać proste makro w programie Microsoft Excel.
  • Użyj nazwy, która nie została jeszcze zdefiniowana jako nazwa funkcji w programie Excel, w przeciwnym razie będziesz mógł używać tylko jednej z funkcji.

Ostrzeżenia

  • Ze względów bezpieczeństwa niektóre osoby mogą wyłączać makra. Poinformuj współpracowników, że wysyłana przez Ciebie książka zawiera makra i można jej ufać, ponieważ nie uszkodzą one Twoich komputerów.
  • Funkcje użyte w tym artykule nie są najlepszym sposobem rozwiązania wspomnianych problemów. Były używane tylko do wyjaśnienia użycia struktur kontroli języka.
  • VBA, jak każdy inny język, ma kilka innych struktur kontrolnych oprócz Do, If i For. Zostały one wyjaśnione tutaj, aby wyjaśnić, co można zrobić w kodzie źródłowym funkcji. Dostępnych jest wiele samouczków online, w których można nauczyć się języka VBA.

Jak napisać przekonujący esej

Mark Sanchez

Móc 2024

Inne ekcje Eej perwazyjny to eej używany do przekonania czytelnika o konkretnym pomyśle lub celu, zwykle takim, w który wierzyz. Twój przekonujący eej może opierać ię na wzytkim, o czym maz ...

Jak śpiewać zdrowo

Mark Sanchez

Móc 2024

Inne ekcje Śpiew jet czymś, co lubi wielu ludzi i jet przyjającą rozrywką przez więkzość hitorii ludzkości. Jednak zotało odkryte w tej dość niedawnej erze - prawdopodobnie uważanej za kilka otatnich ...

Radzimy Cię Zobaczyć