Tworzenie Funkcji

 

Przykład opisany w tej lekcji dostępny jest w arkuszu Excela: VBA.xls, tylko jego samodzielne przerobienie daje gwarancję zapamiętania tej lekcji.

Przykłady dla wszystkich lekcji szkolenia Excel 2003: ExcelSzkolenie.pl Cwiczenia Excel 2003.zip

 

Przykład 1.

(Arkusz: ‘Tworzenie Funkcji’)

 

W poniższym przykładzie użytkownik często na podstawie przekazywanych mu danych musi wyliczyć datę ważności dla dużej liczby produktów.

Otrzymywane dane to data produkcji i okres ważności, który może wynosić 1M, 3M, 6M, 1R, 3L (M- miesiąc, R – rok, L –lata).

 

Mógłby w tym celu skorzystać z funkcji Jeżeli a dokładniej 5 zapętlonych takich funkcji aby obliczyć datę ważności. Jednak wprowadzanie za każdym razem tak skomplikowanej formuły jest czasochłonne.

Dodatkowo w przypadku większej ilości okresów ważności wyczerpałby się limit ilości zapętleń, który wynosi 7.

 

Ponieważ operacje takie wykonywane są często wygodnie będzie utworzyć funkcję VBA obliczającą datę ważności.

 

 

Przechodzimy do edytora VBA (Alt+F11) i w jednym z modułów pliku Personal.xls  wpisujemy następującą funkcję.

 

 

 

Funkcje zawsze zaczynają się określeniem ‘Function’ a kończą ‘End Function’.

Po ‘Function’ następuje nazwa funkcji, która jednocześnie jest nazwą zmiennej wyjściowej. W nawiasie podawane są nazwy argumentów wejściowych.

 

W kolejnej linii przypisujemy argumentowi Data_Wazności wartość „Nieznana”, zabezpieczy to nas przed sytuacjami, w których argument Okres_Waznosci nie został podany lub jest podany błędnie.

 

Potem następuje konstrukcja ‘Select Case’, w której w zależności od argumentu Okres_Waznosci, do Data produkcji dodawana jest odpowiednia ilość dni i przypisywane jest to do wyniku funkcji.

 

Tak utworzoną funkcję możemy znaleźć w Funkcjach Użytkownika w standardowym oknie ‘Wstawianie funkcji’.

 

 

Po jej wybraniu i kliknięciu przycisku ‘OK’, wyświetli się ekran, na którym podajemy argumenty funkcji.

Na ekranie tym, w tym przypadku Excel nie formatuje właściwie dat, dlatego też podaje je jako liczby (39721, 39751).

Wynik formuły pokazywany jest we właściwym formacie w lewym dolnym rogu okna.

 

 

Funkcję możemy przegrać do pozostałych komórek w kolumnie ‘Data ważności’

 

 

Daty ważności zostały obliczone zgodnie z zasadami przyjętymi w naszej funkcji, zadziałał również mechanizm chroniący przed brakiem lub niewłaściwym argumentem ‘Okres ważności’, pod koniec tabeli widać 3 takie przypadki.

Gdybyśmy nie wprowadzili do naszej funkcji tego mechanizmu, jej wynik wynosiłby zero, które w sformatowane jako data zostałoby wyświetlone jako: ‘1900-01-00’

 

Utworzoną funkcję możemy też wstawiać w arkusz wpisując jej nazwę bezpośrednio w komórce, dokładnie tak samo jak robimy to ze standardowymi funkcjami Excela.

 

 

 

 

 

Szkolenie Excel 2003                            Szkolenie Excel 2007