VBA - funkcje zdefiniowane przez użytkownika

ZA functionto grupa kodu wielokrotnego użytku, który można wywołać w dowolnym miejscu programu. Eliminuje to potrzebę ciągłego pisania tego samego kodu. Umożliwia to programistom podzielenie dużego programu na szereg małych i łatwych do zarządzania funkcji.

Oprócz wbudowanych funkcji, VBA umożliwia również pisanie funkcji zdefiniowanych przez użytkownika. W tym rozdziale dowiesz się, jak pisać własne funkcje w języku VBA.

Definicja funkcji

Funkcja VBA może mieć opcjonalną instrukcję return. Jest to wymagane, jeśli chcesz zwrócić wartość z funkcji.

Na przykład, możesz przekazać dwie liczby w funkcji, a następnie możesz oczekiwać od funkcji, że zwróci ich mnożenie w programie wywołującym.

Note - Funkcja może zwracać wiele wartości oddzielonych przecinkami jako tablicę przypisaną do samej nazwy funkcji.

Zanim użyjemy funkcji, musimy zdefiniować tę konkretną funkcję. Najczęstszym sposobem definiowania funkcji w języku VBA jest użycie rozszerzeniaFunction słowo kluczowe, po którym następuje unikalna nazwa funkcji i może, ale nie musi, zawierać listę parametrów i instrukcję z End Functionsłowo kluczowe, które wskazuje koniec funkcji. Poniżej znajduje się podstawowa składnia.

Składnia

Dodaj przycisk i następującą funkcję.

Function Functionname(parameter-list)
   statement 1
   statement 2
   statement 3
   .......
   statement n
End Function

Przykład

Dodaj następującą funkcję, która zwraca obszar. Zauważ, że wartość / wartości mogą być zwracane z samą nazwą funkcji.

Function findArea(Length As Double, Optional Width As Variant)
   If IsMissing(Width) Then
      findArea = Length * Length
   Else
      findArea = Length * Width
   End If
End Function

Wywołanie funkcji

Aby wywołać funkcję, wywołaj funkcję, używając nazwy funkcji, jak pokazano na poniższym zrzucie ekranu.

Dane wyjściowe obszaru, jak pokazano poniżej, zostaną wyświetlone użytkownikowi.