6

Używam okna Locals, aby sprawdzić przypisania dla zmiennych poziomu procedury.Sprawdzanie wartości zmiennych publicznych w programie Excel VBA - okno lokalne alternatywy

Niedawno zaktualizowałem swój kod, aby utworzyć zestaw zmiennych o charakterze publicznym, które odczytują dane wejściowe z arkuszy, które nie zmieniają się z projektu do projektu.

Podczas wyszukiwania tych zmiennych nie widzę ich w oknie Locals, bez wątpienia, ponieważ nie są to zmienne zdefiniowane lokalnie!

Czy istnieje alternatywa dla okna Locals dla zmiennych publicznych? A jeśli nie, to w jaki sposób mam sprawdzić publiczne przypisania zmiennych?

+0

Witam, czy możesz udostępnić część kodu? Próbowałem zrobić to, co mówisz, ale wciąż widzę publiczną zmienną w oknie Locals (http://postimage.org/image/9dor72s0v/) –

+0

Zobaczę, czy mogę podać przykładowy kod w tym tygodniu. – psychonomics

+0

Cześć Paul. Zdaję sobie sprawę, że to było kilka tygodni temu, ale nie koduję tak często! W każdym razie myślę, że twoje użycie Dim deklaruje mytext na poziomie procedury lub modułu, a nie na poziomie globalnym. W moim kodzie używam Public do zadeklarowania zmiennych globalnych. – psychonomics

Odpowiedz

13

Oprócz oknie Immediate (jak opisano w drugiej odpowiedzi), okno Watch jest bardzo pomocne w tych okolicznościach. Można go aktywować w View menu ->Watch okno: enter image description here

Tutaj można zdefiniować:

  • jakakolwiek zmienna (np twoje zmienne publiczne)
  • pełną kadencję, na przykład ActiveWorkbook.UsedRange.Address
  • Zakres każdy zegarek
  • nawet przerwania, gdy zmienia się wartość lub skutkuje True - to jest bardzo przydatny podczas debugowania, ponieważ pozwala szybko warunkowe punkty przerwania bez dodawania dodatkowego kodu, np jeśli ustawisz zegarek myVar=0 i aktywnego przerwę, kiedy wartość true kod zatrzyma się automatycznie w chwili, gdy potencjalny błąd jest „zainicjowany”

Możesz dodać wszystkie te opcje w „Dodaj zegarku” dialogowe, które albo się poprzez kliknięcie prawym przyciskiem myszy na dowolnej zmiennej (lub innym kodem) w module kodu - lub klikając prawym przyciskiem myszy w oknie watch:

enter image description here

Ponadto, można po prostu edytować żadnych przedmiotów na zegarek na liście klikając dwukrotnie.

Bardzo przydatne narzędzie do debugowania, zwł. w połączeniu z Locals i Natychmiastowe okna.

+0

Dzięki. Spróbuję tego w tym tygodniu. – psychonomics

7

Użyj natychmiastowego okna. Naciśnij Ctrl + G w module kodującym, aby przejść do natychmiastowego okna. Pozwala uzyskać i ustawić wartość zmiennej, gdy jesteś w trybie debugowania. Potrzebujesz przedrostka? aby sprawdzić wartość zmiennej. przykład

?variableName press enter to get the value 
variableName ="test" press enter to set the value 
+0

Dzięki. To ma sens. Spróbuję w tym tygodniu. – psychonomics

Powiązane problemy