Start > Kursy on-line > Excel - makra i VBA

Excel - makra i VBA


Deklaracja funkcji

Deklaracja funkcji jest bardzo zbliżona do deklaracji procedury. Poza użyciem sformułowania Function zamiast Sub ma jeszcze jedną zasadniczą różnicę. Funkcja zwraca wynik, a odbywa się to poprzez przypisanie określonej wartości do jej samej wewnątrz funkcji. Aby to zobrazować, stwórzmy prostą funkcję, która przyjmuje parametr w postaci liczby całkowitej i zwraca wynik w postaci kwadratu podanego argumentu:


Function kwadrat(liczba As Integer)

kwadrat = liczba * liczba

End Function
Widzimy, że w naszym prostym przykładzie funkcja o nazwie "kwadrat" jest zdefiniowana tak, iż przyjmuje ona wymnożony przez siebie, podany przez użytkownika argument.

Zauważmy, że jeśli umieściliśmy powyższą funkcję w module pliku Excel:




tak naprawdę stworzyliśmy funkcję użytkownika, którą możemy wykorzystać nie tylko w kodzie VBA, ale także w arkuszu kalkulacyjnym:



Dodatkowo taka funkcja pojawi się na liście funkcji użytkownika programu:



Do funkcji użytkownika wrócimy jeszcze w dalszej części tego kursu. Na zakończenie trzeba jednak dodać, iż użycie zdefiniowanej funkcji w kodzie VBA wygląda następująco:


Function test()

Cells(1,1)= kwadrat(4)

End Function
Powyższa przykład wykorzystuje wcześniej zadeklarowaną funkcję, a w efekcie jego uruchomienia, w komórce A1 wyświetlony jest wynik.
Oczywiście w funkcjach możemy używać zdecydowanie bardziej skomplikowanych poleceń - podobnie jak to ma miejsce w przypadku procedur.