Moje doświadczenia z Excelem, Accesem i programowaniem w VBA
Blog > Komentarze do wpisu

Kod VBA - podgląd i kontrola wartości funkcji

Przy prostych funkcjach pisanych w VBA - nie ma potrzeby kontroli wartości pośrednich. Potrzeba taka może się jednak pojawić gdy funkcja jest bardziej skomplikowana, a chcemy mieć pewność, że wszystko działa prawidłowo - dobrze jest móc podejrzeć co się dzieje w trakcie wykonywania kodu. Metod jest kilka. W tej notce opiszę tewn, który sama najczęściej stosuję przy analizie kodu. 
Jako przykład może posłużyć funkcja PodwojonaSumaKomorek opisana tu:
Piszemy funkcję w VBA...
W edytorze VBA wstawiamy punkt przerwania w pierwszej linii programu (zaraz po bloku deklaracji zmiennych). Jak? Najszybciej poprzez kliknięcie na pasku obramowania z lewej strony tej linii. Punkt przerwania zostanie zaznaczony czerwoną kropką.

wstawianie punktu przerwania

W trakcie wykonywania kodu - edytor zatrzyma funkcję w tej linii. Samą funkcję wywołujemy w arkuszu Excela.

wstawianie punktu przerwania

Komórki A1 i B1 mają odpowiednio wartość 3 i 4 (akurat w tym przykładzie), natomiast komórka C1 jest wartością wyliczonej funkcji:
C1=PodwojonaSumaKomorek(A1;B1)
 
Teraz wystarczy kliknąc w znak funkcji na pasku:

wstawianie punktu przerwania

Pojawi się klasyczne okno dialogowe funkcji (już z wprowadzonymi wcześniej argumentami). Po naciśnięciu przycisku OK Excel zacznie wykonywać funkcję. Ponieważ w tym przypadku mamy do czynienia z funkcją własną uzytkownika - musi się odwołać do VBA, gdzie czeka punkt przerwania. Automatycznie zostaniemy więc przeniesieni do edytora VBA.

wstawianie punktu przerwania 

W punkcie przerwania pojawiło się żółte zaznaczenie linii. Oznacza to linię kodu, która będzie teraz wykonana. Warto jednak już w tym miejscu - podejrzeć wartości poszczególnych zmiennych. Wystarczy najechać myszką na dowolną zmienną w dowolnym miejscu kodu. Pojawi się etykietka, w której widoczna będzie aktualna wartość danej zmiennej. Na rysunku powyżej taka etykietka jest widoczna u samej góry - wartość zmiennej PierwszySkładnik=3. W identyczny sposób można oczywiscie skontrolować wartość pozostałych zmiennych. 
Wartości zmiennych Suma i PodwojonaSumaKomorek są w tej chwili równe zero. Teraz wystaczy nacisnąć przycisk F8 - czyli wykonanie kolejnego kroku programu. Efekt na ekranie będzie wygladał tak:

wstawianie punktu przerwania

Ponieważ kolejna linia programu została wykonana - wartość Sumy zmieniła się po wykonaniu działania z linii 3. Teraz równa sie akurat 7.
Kolejne kroki programu - kolejne naciśnięcia F8.
Przejście do końca programu (z wykonanie autmatycznym kolejnych kroków) - F5.

Po zakończeniu analizy programu - koniecznie pamiętajmy o zdjęciu punktu przerwania. Wystarczy kliknąć ponownie na kropkę oznaczającą ten punkt. Jeżeli tego nie zrobimy - za każdym razem będziemy trafiać do edytora.

Przykład jest prosty, ale sprawdza się w analizie skomplikowanych kodów. Zasada psotępowania jest taka sama. Zreszta nie tylko w Excelu, ale również w Accessie.

niedziela, 14 marca 2010, marzatela













Polecane wpisy

TrackBack
TrackBack URL wpisu:


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


A tu oferta na dziś:

Wydawnictwo Strefa Kursów



ministat liczniki.org



Napisz do mnie!