czwartek, 6 września 2018

VBA - funkcje


VBA - funkcje zdefiniowane przez użytkownika

Funkcja jest grupa kodu wielokrotnego użytku, który może być wywoływany w dowolnym miejscu w programie. Eliminuje to potrzebę pisania tego samego kodu w kółko. Dzięki temu programiści mogą podzielić duży program na kilka małych i łatwych w zarządzaniu funkcji.
Oprócz wbudowanych funkcji, VBA pozwala również pisać funkcje zdefiniowane przez użytkownika. W tym rozdziale nauczysz się pisać swoje własne funkcje w 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ć, że funkcja zwróci ich mnożenie w twoim programie wywołującym.
Uwaga: 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 zdefiniowania funkcji w VBA jest użycie słowa kluczowego Function , po którym następuje unikatowa nazwa funkcji i może ona zawierać listę parametrów oraz instrukcję ze słowem kluczowym End Function , która wskazuje koniec funkcji. Poniżej znajduje się podstawowa składnia.
Składnia
Dodaj przycisk i dodaj następującą funkcję.
Function nazwa_funkcji(parameter-list)
   wyrażenie 1
   wyrażenie 2
   wyrażenie 3
   .......
   wyrażenie n
End Function
Przykład
Dodaj następującą funkcję, która zwraca obszar. Zwróć uwagę, że wartość / wartości mogą zostać zwrócone z samą nazwą funkcji.
Function obliczObszar(Dlugosc As Double, Optional Szerokosc As Variant)

   If IsMissing(Szerokosc) Then
      obliczObszar = Dlugosc * Dlugosc
   Else
      obliczObszar = Dlugosc * Szerokosc
   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 pokazane poniżej zostaną wyświetlone użytkownikowi.




Poprzednia strona                                                                                                  Następna strona

Brak komentarzy:

Prześlij komentarz