Moje doświadczenia z Excelem, Accesem i programowaniem w VBA

Wpisy z tagiem: debugowanie

poniedziałek, 08 marca 2010

Ja zacząć pisać funkcję w VBA? Przykład będzie bardzo prosty, ale chcę na nim pokazać podstawowe zasady. O wejściu do edytora VBA i wstawieniu nowej funkcji pisałam tu:
Excel - edytor Visual Basic

Zaprojektujmy prostą funkcję, która będzie sumowała wartości dwóch komórek, a nastepnie mnożyła wynik przez 2. .

Public Function PodwojonaSumaKomorek(PierwszySkladnik As Integer, DrugiSkladnik As Integer) As Integer              'linia 1

Dim Suma As Integer                                       'linia 2

Suma = PierwszySkladnik + DrugiSkladnik  'linia 3
PodwojonaSumaKomorek = 2 * Suma          'linia 4

End Function                                                      'linia 5

W oknie powyżej jest dokładnie skopiowany kod programu, łącznie z kolorami, które też mają swoje znaczenie. Można je zmienić, ale to już osobny temat na inną okazję.
kolor niebieski - słowa kluczowe VBA 
kolor zielony - wszystkie dodatkowe informacje, opisy - jednym słowem tekst własny programisty, w którym możemy wpisywac wszystkie uwagi. Zaczynają sie one od górnego apostrofu ' , kończą naciśnięciem Enter czyli przejściem do następnej linii. 
A teraz po kolei, linijkami:

linia 1 
Public Function  - to oznaczenie początku kodu funkcji. PodwojonaSumaKomorek - nazwa własna funkcji (wymyślona przez mnie). PierwszySkładnik i DrugiSkladnik - to nazwy zmiennych wymaganych (będzie to widoczne z poziomu arkusza Excel) . Ponieważ przy każdej z nich jest dopisek As Integer - oznacza to, że zmienne muszą być typu Integer.  Podobnie w przypadku wyniku całej funkcji - za nawiasem tez jest ten dopisek. Nie jest to warunek obowiązkowy, można nie deklarować typu zmiennych - wówczas będa one traktowane jako zmienne typu Variant.

linia 2
Blok (w tym przypadku tylko jedna linia) deklaracji zmiennych o charakterze lokalnym i pomocniczym, widocznych tylko w ramach kodu. Każda kolejna zmienna jest deklarowana w nowej linii, zaczynajacej się słowem kluczowym Dim.

linia 3
Zmienna Suma przyjmuje wartość PierwszySkladnik + DrugiSkladnik

linia 4
PodwojonaSumaKomorek (czyli wartość funkcji) przyjmuje wartość podwójnej Sumy.
Tak naprawdę - to można było to zapisać dużo prościej:
PodwojonaSumaKomorek=2*(PierwszySkladnik+DrugiSkladnik)
chodziło mi jednak o pokazanie róznicy pomiędzy zmiennymi wymaganymi, a blokiem zmiennych w ramach kodu.

linia 5
End Function - słowo kluczowe kończące kod funkcji.

Teraz wystarczy tylko zdebugować funkcję w edytorze VBA (czyli sprawdzić poprawność wpisanego kodu) i funkcję można wykorzystać.

kompilacja kodu VBA

Jeżeli w kodzie są błędy - pojawi się komunikat z zaznaczeniem miejsca, w którym błąd się pojawił. Jeżeli nie - komunikatu nie będzie, ale zaznaczona na obrazku opcja "Compile VBA Projekt" - stanie się nieaktywna. Przynajmniej do czasu, gdy nie wprowadzimy zmian w kodzie (nawet tych nieistotnych).

| < Listopad 2017 > |
Pn Wt Śr Cz Pt So N
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:





ministat liczniki.org



Napisz do mnie!