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-
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