Menu



Główna

Kurs:

Wstęp

Edytor

Pierwszy program

Instrukcje warunkowe

Pętle


Przydatne makra:

Sheet delete

Nie zapisuj

Iloczyn macierzy

IP - ping

Pierwszy Program

Z poprzedniej części kursu wiemy już jak zorganizowany jest edytor VBA, wiemy też, że moduły są to miejsca, w których umieszczamy kod źródłowy. Ale w jaki sposób?
Instrukcje w modułach są pogrupowane w procedury i funkcje. Ciąg instrukcji, zawarty pomiędzy słowami kluczowymi Sub a End Sub to procedura. Przykładowa procedura, obliczającą sumę dwu liczb, przedstawiona jest poniżej:


Sub Oblicz()

Dim liczba1 As Double
Dim liczba2 As Double
Dim wynik As Double


liczba1 = 10
liczba2 = 2.56
wynik = liczba1 + liczba2

MsgBox "Wynik:" & wynik

End Sub

Po słowie kluczowym Sub występuje nazwa procedury i dwa nawiasy. W nawiasach mogą występować argumenty, czyli dane, przekazywane do procedury przez inna procedurę. Następny blok instrukcji (trzy wiersze, zaczynające się od słowa kluczowego Dim) to deklaracja zmiennych - czyli zarezerwowanie w pamięci komputera miejsca na dane. W Visual Basicu deklaracja zmiennych nie jest co prawda niezbędna, gdyż kompilator sam niezadeklarowane zmienne określa jako typ Variant. Jest to jednak bardzo rozbudowany typ danych i zajmuje dużo miejsca w pamięci. Dlatego też deklarowanie zmiennych jest dobrym sposobem na optymalizowanie zużycia zasobów komputera.
Następne wiersze to już instrukcje podstawienia, do zmiennych liczba1 i liczba2 są przypisane odpowiednie wartości, a do zmiennej wynik - ich suma. Ostatni wiersz służy do wypisania na ekranie wyniku dodawania. Jest to standardowe okienko komunikatu systemu Windows.

Funkcja - jest ciąg instrukcji, występujący pomiędzy słowami kluczowymi Function a End Function. Od procedury różni się tym, że funkcja zwraca wynik swoich działań. Przeanalizujmy przykład:

Function Suma(a As Double, b As Double) As Double

Suma = a + b

End Function

Sub Oblicz()

Dim liczba1 As Double
Dim liczba2 As Double

liczba1 = 10
liczba2 = 2.56

MsgBox "Wynik:" & Suma(liczba1, liczba2)

End Sub


Analizę zaczynamy od procedury Oblicz - wszystko jest tak, jak w poprzednim przypadku, aż do instrukcji MsgBox. Nie występuje tutaj zmienna reprezentująca wynik, jest natomiast wywołanie funkcji Suma. Funkcja Suma posiada 2 argumenty, a i b określone jako typ Double (liczba rzeczywista), wynik działania, czyli wartość zwracana przez ta funkcję, również jest określony jako Double. Wynik tej funkcji to suma argumentów a i b. Stosowanie funkcji to bardzo efektywne rozwiązanie w przypadku, gdy mamy do zachodzi potrzeba wielokrotnego dokonywania jakichś operacji. Zamiast za każdym razem wypisywać w procedurze skomplikowane wzory piszemy funkcję wykonującą tę operacje, a w procedurze odwołujemy się do tej funkcji.
Taki sposób programowania nazywamy programowaniem modułowym.

Linki
VBA:


VBA Mania

Anhtony VBA

Shmitti's Vba

Excel Macro

Programy VBA