Szukaj…


Uwagi

Ta sekcja zawiera przegląd tego, czym jest vba i dlaczego deweloper może chcieć z niego korzystać.

Powinien także wymieniać wszelkie duże tematy w VBA i zawierać linki do powiązanych tematów. Ponieważ Dokumentacja dla vba jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.

Wersje

Wersja Wersje Office Informacje o dacie wydania Data wydania
Vba6 ? - 2007 [Kiedyś] [1] 1992-06-30
Vba7 2010 - 2016 [blog.techkit.com] [2] 15.04.2010
VBA dla komputerów Mac 2004, 2011 - 2016 2004-05-11

Dostęp do edytora Visual Basic w Microsoft Office

Możesz otworzyć edytor VB w dowolnej aplikacji Microsoft Office, naciskając klawisze Alt + F11 lub przechodząc do karty Deweloper i klikając przycisk „Visual Basic”. Jeśli nie widzisz karty Deweloper na Wstążce, sprawdź, czy jest ona włączona.

Domyślnie karta Deweloper jest wyłączona. Aby włączyć kartę Deweloper, przejdź do Plik -> Opcje, wybierz Dostosuj wstążkę z listy po lewej stronie. W prawym widoku drzewa „Dostosuj wstążkę” znajdź element drzewa Deweloper i zaznacz pole wyboru Deweloper. Kliknij przycisk OK, aby zamknąć okno dialogowe Opcje.

Menu opcji plików

Karta Deweloper jest teraz widoczna na Wstążce, na której możesz kliknąć „Visual Basic”, aby otworzyć Edytor Visual Basic. Alternatywnie możesz kliknąć „Wyświetl kod”, aby bezpośrednio wyświetlić panel kodu aktualnie aktywnego elementu, np. Arkusz roboczy, Wykres, Kształt.

Karta programisty

VBE

Za pomocą VBA można zautomatyzować prawie każdą akcję, którą można wykonać interaktywnie (ręcznie), a także zapewnić funkcje niedostępne w pakiecie Microsoft Office. VBA może utworzyć dokument, dodać do niego tekst, sformatować go, edytować i zapisać, wszystko bez udziału człowieka.

Pierwszy moduł i Hello World

Aby rozpocząć kodowanie, musisz kliknąć prawym przyciskiem myszy swój projekt VBA na lewej liście i dodać nowy moduł. Twój pierwszy kod Hello-World może wyglądać następująco:

Sub HelloWorld()
    MsgBox "Hello, World!"
End Sub

Aby to przetestować, naciśnij przycisk Play na pasku narzędzi lub po prostu naciśnij klawisz F5 . Gratulacje! Zbudowałeś swój pierwszy moduł VBA.

Debugowanie

Debugowanie to bardzo skuteczny sposób na dokładne przyjrzenie się i naprawienie niepoprawnie działającego (lub niedziałającego) kodu.

Uruchom kod krok po kroku

Pierwszą rzeczą, którą musisz zrobić podczas debugowania, jest zatrzymanie kodu w określonych lokalizacjach, a następnie uruchomienie go wiersz po wierszu, aby sprawdzić, czy tak się stanie, jak się spodziewamy.

  • Punkt przerwania ( F9 , Debugowanie - Przełącz punkt przerwania): Możesz dodać punkt przerwania do dowolnej wykonanej linii (np. Nie do deklaracji), gdy wykonanie osiągnie ten punkt, zatrzymuje się i daje kontrolę użytkownikowi.
  • Możesz również dodać słowo kluczowe Stop do pustego wiersza, aby kod zatrzymał się w tej lokalizacji w środowisku wykonawczym. Jest to przydatne, jeśli na przykład przed wierszami deklaracji, do których nie można dodać punktu przerwania za pomocą F9
  • Step into ( F8 , Debug - Step into): wykonuje tylko jeden wiersz kodu, jeśli jest to wywołanie zdefiniowanej przez użytkownika podfunkcji / funkcji, to jest wykonywane wiersz po wierszu.
  • Krok po kroku ( Shift + F8 , Debugowanie - krok po kroku): wykonuje jeden wiersz kodu, nie wprowadza pod / funkcji zdefiniowanych przez użytkownika.
  • Step out ( Ctrl + Shift + F8 , Debug - Step out): Wyjdź z bieżącej funkcji / funkcji (uruchom kod do końca).
  • Uruchom do kursora ( Ctrl + F8 , Debuguj - Uruchom do kursora): uruchom kod, aż dojdzie do linii z kursorem.
  • Za pomocą narzędzia Debug.Print można drukować wiersze do okna natychmiastowego w czasie wykonywania. Możesz także użyć Debug.? jako skrót do Debug.Print

Okno zegarków

Uruchamianie kodu wiersz po wierszu to tylko pierwszy krok, musimy znać więcej szczegółów, a jednym z narzędzi jest do tego okno podglądu (Widok - Okno podglądu), tutaj możesz zobaczyć wartości zdefiniowanych wyrażeń. Aby dodać zmienną do okna zegarka:

  • Kliknij go prawym przyciskiem myszy, a następnie wybierz „Dodaj zegarek”.
  • Kliknij prawym przyciskiem myszy w oknie zegarka, wybierz „Dodaj zegarek”.
  • Idź do Debuguj - Dodaj zegarek.

Po dodaniu nowego wyrażenia możesz wybrać, czy chcesz zobaczyć jego wartość, czy też przerwać wykonywanie kodu, gdy jest prawdziwe lub gdy jego wartość się zmienia.

Natychmiastowe okno

Bezpośrednie okno pozwala wykonać dowolny kod lub wydrukować elementy, poprzedzając je słowem kluczowym Print lub pojedynczym znakiem zapytania „ ?

Kilka przykładów:

  • ? ActiveSheet.Name - zwraca nazwę aktywnego arkusza
  • Print ActiveSheet.Name - zwraca nazwę aktywnego arkusza
  • ? foo - zwraca wartość foo *
  • x = 10 ustawia x na 10 *

* Pobieranie / ustawianie wartości zmiennych przez okno natychmiastowe można wykonać tylko w czasie wykonywania

Debugowanie najlepszych praktyk

Ilekroć twój kod nie działa zgodnie z oczekiwaniami, pierwszą rzeczą, którą powinieneś zrobić, to przeczytać go uważnie, szukając błędów.

Jeśli to nie pomoże, rozpocznij debugowanie; w przypadku krótkich procedur skuteczne może być wykonanie go linia po linii, w przypadku dłuższych prawdopodobnie musisz ustawić punkty przerwania lub przerwy w obserwowanych wyrażeniach, celem jest znalezienie linii, która nie działa zgodnie z oczekiwaniami.

Gdy pojawi się wiersz, który daje niepoprawny wynik, ale przyczyna nie jest jeszcze jasna, spróbuj uprościć wyrażenia lub zastąp zmienne stałymi, które pomogą zrozumieć, czy wartość zmiennych jest błędna.

Jeśli nadal nie możesz go rozwiązać i poprosić o pomoc:

  • Dołącz jak najmniejszą część kodu, aby zrozumieć swój problem
  • Jeśli problem nie jest związany z wartością zmiennych, zastąp je stałymi. (więc zamiast Sheets(a*b*c+d^2).Range(addressOfRange) napisz Sheets(4).Range("A2") )
  • Opisz, który wiersz podaje niewłaściwe zachowanie i co to jest (błąd, zły wynik ...)


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow