Tworzenie własnych makr i funkcji w VBA
Stronę tą wyświetlono już: 6157 razy
Tworzenie makr i funkcji możliwe jest poprzez otworzenie okna programu Microsoft Visual Basic i utworzenie nowego modułu tak jak pokazane zostało to na poniższym rysunku.

Tworzenie makr
Makra od funkcji różnią się tym, że nie zwracają one żadnych wartości, ale mogą przyjmować dowolną liczbę argumentów. Oto przykład utworzenia prostego makra:
- Sub Makro(nr as String)
- MsgBox(nr)
- End Sub
Powyższe makro można wywołać w następujący sposób:
- Makro "10"
Funkcja Msg_Box wyświetla okno dialogowe, w którym wyświetlona zostanie wartość zmiennej nr.
Argumenty makr w VBA podczas jego wywołania nie są ujęte w nawiasach, a od nazwy makra oddziela je tylko spacja.
Chociaż makra nie mogą zwracać wartości to mogą ustawiać argumenty, które zostały przekazane do makra poprzez referencje, oto przykład:
- Sub Makro2(ByRef nr as String)
- nr = "10"
- End Sub
- Sub Makro(nr as String)
- Makro2 nr
- MsgBox nr
- End Sub
Wywołanie makra Makro spowoduje wywołanie makra Makro2, które ustawi zmienną nr na wartość "10" i wyświetli tę wartość w oknie dialogowym.
Makro można przerwać wewnątrz jej ciała korzystając z Exit Sub.
Tworzenie funkcji
Funkcje tworzy się w podobny sposób jak makra, z tą różnicą, że funkcje zwracają pewne dane. Oto przykład deklaracji funkcji:
- Function fu(text as String) As String
- If Len(text) > 0 Then
- fu = "Twój tekst: " + text
- Else
- fu = "Nie podano tekstu!"
- End If
- End Function
Funkcję można przerwać wewnątrz jej ciała korzystając z Exit Function.
Funkcje VBA w Excelu
Utworzone funkcje w modułach powiązanych z danym arkuszem kalkulacyjnym Excel-a są dostępne w samym arkuszu kalkulacyjnym tak, jak zwykłe wbudowane funkcje. Dla przykładu powyżej utworzona funkcje może zostać wykorzystana w arkuszu kalkulacyjnym poprzez wpisanie:
- =fu("jakiś tekst")
w dowolnej komórce, wynikiem czego będzie tekst: Twój tekst: jakiś tekst.
Wywołanie makr w programach wykorzystujących język VBA
Makra, które nie przyjmują żadnych argumentów mogą zostać wywołane z poziomu menu. W MS Office wystarczy wcisnąć kombinację Alt + F8 aby pojawiło się okno dialogowe Makro z listą dostępnych makr.

Tytuł:
Microsoft Excel 2019: VBA i makra
Autor:
Bill Jelen, Tracy Syrstad

Tytuł:
VBA na sto dwa, czyli 102 ćwiczenia z wykorzystaniem VBA
Autor:
Piotr Janus

Tytuł:
VBA dla Microsoft Office 365 i Office 2019
Autor:
Richard Mansfield

Tytuł:
Excel. Programowanie w VBA dla bystrzaków. Wydanie V
Autor:
Michael Alexander, John Walkenbach

Tytuł:
Zrozumieć Excela. VBA - makra i funkcje
Autor:
Maciej Gonet

Tytuł:
VBA dla Excela 2019 PL. 234 praktyczne przykłady
Autor:
Witold Wrotek

Tytuł:
Excel 2016 VBA i makra
Autor:
Bill Jelen, Tracy Syrstad

Tytuł:
VBA dla Excela 2016 PL. 222 praktyczne przykłady
Autor:
Witold Wrotek

Tytuł:
Tworzenie makr w VBA dla Excela 2010/2013. Ćwiczenia
Autor:
Mirosław Lewandowski

Tytuł:
Excel 2013 PL. Programowanie w VBA dla bystrzaków
Autor:
John Walkenbach