Edytor języka VBA
MS Office

Edytor języka VBA

Edytor języka VBA (Visual Basic for Applications) to oddzielna aplikacja, która służy do pisania i edycji makr oraz kodu w języku VBA.

Język VBA może być używany we wszystkich programach pakietu MS Office tj. Word, Excel, Access, Outlook i PowerPoint.

Korzystanie z VBA nie wymaga dodatkowej licencji, gdyż jest on zintegrowany z pakietem MS Office. Jedyne, co musisz zrobić, to aktywować kartę Deweloper. Aby to zrobić, wejdź do programu Excel, kliknij kartę Plik i wybierz Opcje. Następnie wybierz polecenie Dostosowywanie Wstążki i po prawej stronie okna w części Dostosuj Wstążkę zaznacz kartę Deweloper.

VBA karta deweloper

Aplikacja VBA działa równolegle z programami pakietu MS Office. Nie ma możliwości uruchomienia edytora VBA bez wcześniejszego uruchomienia któregoś z programów np. Excela. W Excelu 2016 każdy skoroszyt wyświetlany jest w oddzielnym oknie. Natomiast okno VBA jest tylko jedno i współpracuje ono ze wszystkimi otwartymi skoroszytami Excela.

Edytor języka VBA – uruchamianie edytora

VBA jest najpowszechniej używany w programie MS Excel. Dlatego prezentujemy przykłady na podstawie tego właśnie programu.

Aby uruchomić edytor VBA, uruchom w pierwszej kolejności program Excel. Następnie możesz uruchomić edytor jednym z poniższych sposobów:

  • nacisnąć kombinację klawiszy Alt+F11
  • na karcie Deweloper kliknąć ikonę Visual Basic VBA uruchamianie edytora

Okno edytora VBA

Edytor zawiera kilka okien, które możesz według własnych preferencji zmieniać np. przemieszczać i ukrywać. Poniżej znajdziesz podstawowe informacje dotyczące edytora.

Okno edytora VBA

Pasek menu, pasek narzędzi i menu podręczne

Pasek menu zawiera polecenia, których używamy do wykonywania różnych operacji na poszczególnych elementach programu.

VBA pasek menu

Jeżeli nie zostały zmienione ustawienia domyślne, bezpośrednio pod paskiem menu znajduje się pasek narzędzi. Zawiera on podstawowe narzędzia wykorzystywane w trakcie pisania programu np. umożliwia:

  • dodanie modułu i formularza
  • zapisanie programu
  • wklejanie, wycinanie i przeszukiwanie kodu
  • uruchamianie i zatrzymywanie programu
  • wstawianie i usuwanie komentarzy w kodzie

Po wskazaniu myszką danego narzędzia na pasku, wyświetlony zostaje jego krótki opis.

W VBA można używać również menu podręcznego. Aby je wywołać, należy kliknąć prawym przyciskiem myszy element, który nas interesuje. Wyświetlą się wówczas najczęściej używane narzędzia dotyczące wybranego elementu.

Okno Project edytora VBA

Okno Project wyświetla diagram zawierający m.in:

  • wszystkie skoroszyty aktualnie otwarte w Excelu
  • moduły – w modułach przechowywany jest kod napisany w języku VBA
  • formularze użytkownika – są to stworzone przez użytkownika formularze razem z kodem VBA użytym do ich stworzenia i obsługi

VBA okno projektu przykład

Jeśli okno Project nie jest widoczne, możesz je wyświetlić klikając kombinację klawiszy Ctrl+R lub za pomocą polecenia Project Explorer, które znajduje się na pasku narzędzi View.

Gdy pracujesz w VBA, każdy otwarty skoroszyt i dodatek Excela jest projektem. Projekt jest to kolekcja obiektów uporządkowanych w strukturę drzewa. Aby rozwinąć drzewo projektu, należy kliknąć pole ze znakiem plus (+) znajdujące się po lewej stronie nazwy projektu w oknie Project. Aby zwinąć drzewo projektu, należy kliknąć znak minus (–) po lewej stronie nazwy projektu. Można również zwijać i rozwijać poszczególne elementy, klikając je dwukrotnie.

Okno Code edytora VBA

W oknie Code piszesz i edytujesz kod języka VBA. Aby wyświetlić kod z danego modułu, należy znaleźć moduł w oknie Project i kliknąć go dwuklikiem lewego przycisku myszy.

W górnej części okna Code są dwie listy rozwijane.

VBA listy okna Code

Możliwe jest wyświetlanie więcej niż jednego okna Code, jeśli chcesz pracować nad kilkoma projektami jednocześnie. Okna Code można minimalizować, maksymalizować, ukrywać, przemieszczać i zmieniać ich rozmiar na takiej samej zasadzie, na jakiej działa to w programie Excel.

Aby zminimalizować lub zmaksymalizować okno Code, należy kliknąć przycisk na pasku tytułu tego okna (po prawej stronie, obok przycisku X) lub dwukrotnie pasek tytułu. Aby przywrócić pierwotny rozmiar okna, należy kliknąć przycisk Restore Window.

Aby szybko przełączać się pomiędzy oknami Code, należy użyć kombinacji klawiszy Ctrl+F6. Każde kolejne naciśnięcie tej kombinacji powoduje przejście do kolejnego otwartego okna Code. Kombinacja Ctrl+Shift+F6 powoduje przechodzenie do kolejnych okien w odwrotnej kolejności.

VBA okna code

Okno Immediate edytora VBA

Jeśli okno Immediate nie jest widoczne, możesz je wyświetlić klikając kombinację klawiszy Ctrl+G lub za pomocą polecenia Immediate Window, które znajduje się na pasku narzędzi View.

Okno Immediate przydaje się do bezpośredniego wykonywania instrukcji VBA i debugowania kodu.

Dodawanie lub usuwanie nowego modułu w VBA

W VBA dostępne są następujące moduły: VBA opis modułów

Nowy moduł do projektu można dodać jednym z poniższych sposobów:

  • klikając prawym przyciskiem nazwę projektu w oknie Project i wybierając polecenie Insert a następnie polecenie Module
  • wybierając polecenie Module na pasku narzędzi Insert

Analogicznie działa dodawanie formularza (UserForm).

Kod programu możesz umieścić w module za pomocą jednego z poniższych sposobów:

  • wprowadzić polecenia bezpośrednio w module
  • użyć rejestratora makr w Excelu i za jego pomocą nagrać makra, których kod zostanie zapisany w module
  • skopiować kod z jednego modułu i wkleić do innego

Jeśli zarejestrujesz makro, Excel automatycznie wstawi do projektu nowy moduł, w którym będzie ono przechowywane. Moduł makra będzie utworzony i przechowywany w skoroszycie, który został wskazany w liście rozwijanej „Przechowuj makro w” przed jego zarejestrowaniem.

Moduł można usunąć za pomocą jednego z poniższych sposobów:

  • klikając prawym przyciskiem myszy nazwę modułu i wybierając polecenie Remove Module
  • wybierając polecenie Remove Module na pasku narzędzi File

Przed usunięciem modułu, Excel wyświetla komunikat z pytaniem, czy chcesz wyeksportować kod modułu przed jego usunięciem.

Eksportowanie i importowanie obiektów

Każdy obiekt w projekcie VBA można zapisać do osobnego pliku. Importowanie i eksportowanie obiektów umożliwia ich przekazywanie innym osobom. Możesz wyeksportować moduł i przesłać go do kogoś, kto następnie zaimportuje moduł u siebie.

Aby wyeksportować obiekt należy zaznaczyć go w oknie Projekt i wywołać prawym przyciskiem myszy menu podręczne. Z menu podręcznego należy wybrać polecenie Export File. Wyeksportowana zostaje kopia obiektu. W wyniku eksportu powstaje plik tekstowy.

Wyeksportowany plik można zapisać. W trakcie eksportu Excel wyświetla okno dialogowe Export File, w którym należy podać nazwę pliku i lokalizację, w której plik ma zostać zapisany. W zależności od rodzaju obiektu, który eksportujemy Excel proponuje właściwe rozszerzenie pliku.

Aby zaimportować plik, należy zaznaczyć nazwę projektu w oknie Project i wywołać prawym przyciskiem myszy menu podręczne. Z menu podręcznego należy wybrać polecenie File oraz Import File i w oknie dialogowym, które się pojawi wskazać plik do importu.

VBA – system podpowiedzi

Edytor VBA został wyposażony w system podpowiedzi. Do najczęściej używanych należą:

Automatyczne zakończenie procedury. Jeśli napiszesz Sub, podasz nazwę procedury i klikniesz Enter, automatycznie utworzona zostanie linia End Sub, która kończy procedurę.

VBA procedura Sub

Podpowiedzi dotyczące obiektów. Jeśli w środku procedury podasz nazwę obiektu i otworzysz nawias np. „Range(” wyświetli się podpowiedź z informacją dotyczącą obiektu, który wybrałeś.

VBA podpowiedzi obiekt

VBA – znaczenie kolorów w kodzie

Edytor VBA wyróżnia kod lub tło różnymi kolorami:

1. Czcionka wyróżniona na czarno to standardowy kod, który będzie wykonywany w VBA

VBA kolory składni przykład 1

2. Czcionka wyróżniona na czerwono oznacza błąd składni

VBA kolory składni przykład 2

3. Czcionka wyróżniona na zielono oznacza komentarze, które są przez program ignorowane. Komentarz rozpoczyna się apostrofem

VBA kolory składni przykład 3

4. Tło podświetlone na szaro oznacza, że wybrany tekst jest gotowy do wycięcia, skopiowania lub przeniesienia do innej lokalizacji

VBA kolory składni przykład 4

5. Tło podświetlone na żółto oznacza miejsce, w którym kod będzie wykonywany. Aby zobaczyć wykonywanie programu krok po kroku używamy klawisza F8. Każdorazowe kliknięcie klawisza F8 przenosi nas do linii kodu, która będzie wykonywana i tło w tej linii podświetla się na żółto

VBA kolory składni przykład 5

6. Tło podświetlone na brązowo oznacza „break point”. Po uruchomieniu programu, jego wykonywanie zostanie automatycznie zatrzymane w wierszu, w którym ustawiony został „break point”. Break point można umieścić lub usunąć w dowolnym wierszu kodu, umieszczając kursor na tej linii i klikając klawisz F9.

VBA kolory składni przykład 6

7. Czcionka wyróżniona na niebiesko oznacza słowa kluczowe będące częścią instrukcji wbudowanych VBA

VBA kolory składni przykład 7

8. Zielona strzałka po lewej stronie – jeśli wstawimy break point zielona strzałka wskazuje miejsce, w którym program zostanie wznowiony po jego ponownym uruchomieniu.

VBA kolory składni przykład 8

Jeśli potrzebujesz nauczyć się makr i języka VBA zobacz nasz kurs Makra i VBA Excel od podstaw.

Tomasz Majewski

Programista C#, Python, VBA
Udostępnij wpis: udostępnij Facebook udostępnij Linkedin udostępnij e-mail
Podobne artykuły z kategorii: MS Office

Może Cię zainteresować