
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.
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
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.
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.
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
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.
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.
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:
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ę.
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 – 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
2. Czcionka wyróżniona na czerwono oznacza błąd składni
3. Czcionka wyróżniona na zielono oznacza komentarze, które są przez program ignorowane. Komentarz rozpoczyna się apostrofem
4. Tło podświetlone na szaro oznacza, że wybrany tekst jest gotowy do wycięcia, skopiowania lub przeniesienia do innej lokalizacji
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
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.
7. Czcionka wyróżniona na niebiesko oznacza słowa kluczowe będące częścią instrukcji wbudowanych VBA
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.
Jeśli potrzebujesz nauczyć się makr i języka VBA zobacz nasz kurs Makra i VBA Excel od podstaw.
