Makra – Wprowadzenie

Przykłady opisane w tej lekcji dostępne są w arkuszu Excela: VBA.xlsm tylko ich samodzielne przerobienie daje gwarancję zapamiętania tej lekcji.

Przykłady dla wszystkich lekcji szkolenia Excel 2007: ExcelSzkolenie.pl Cwiczenia Excel 2007.zip

 

Okna i polecenia Visual Basic są w języku angielskim nawet, jeśli Excel, którego używamy jest w wersji polskiej.

 

Aby uzyskać dostęp do Ekranu pozwalającego nam na przeglądanie i zmienianie kodu VBA wciskamy lewy Alt+F11.

Wyświetlony zostanie ekran wyglądający najprawdopodobniej tak jak poniżej.

Jeżeli układ okienek jest inny, już za chwilę dowiemy się jak przywrócić go do takiego stanu.

 

 

Aby zobaczyć okno przedstawiające aktualnie otwarte w Excelu pliki, arkusze znajdujące się w nich, oraz inne obiekty (prawa górna część ekranu), należy wybrać z Menu : View → Project Explorer

 

 

 

Aby pokazać okno z kodem makr należy wybrać z Menu: ‘View’ → ‘ Code’

 

 

Aby pokazać okno z własnościami obiektów (Properties) należy wybrać z Menu: ‘View’ → ‘ Properties Window’.

 

 

Może okazać się konieczne ustalenie odpowiednich proporcji pomiędzy oknami, robimy to przeciągając ich granice tak aby interesujące nas elementy były widoczne.

 

 

W ten sposób dochodzimy do widoku, w którym najczęściej będziemy pracować.

 

 

Istnieje wiele innych okien użytecznych dla bardziej zaawansowanych użytkowników.

Trzy okna opisane powyżej są najczęściej używane i wystarczające do prostych makr.

 

 

Operacje na Modułach

 

W oknie ‘Project – VBAProject’ poruszamy się klikając symbole ‘+’/’-‘ oraz poszczególne obiekty, które nas interesują. Obiektami tymi będą aktualnie otwarte pliki Excela, plik Personal.xlsb oraz dodatki, które możemy rozpoznać po rozszerzeniu .xlam.

Dodatki są efektem aktualizacji Excela i nie będziemy mieć do nich dostępu, zaawansowani programiści VBA mogą także tworzyć swoje dodatki.

 

Plik Personal.xlsb tworzony jest automatycznie podczas nagrywania pierwszego makra na komputerze na którym pracujemy, o ile oczywiście wybierzemy opcję Przechowuj makro w:’ ‘Skoroszyt makr osobistych’.

 

 

Plik ten od tej pory otwierany jest automatycznie przy każdym otwarciu Excela i służy do przechowywania makr, do których zawsze chcielibyśmy mieć dostęp.

Jeżeli na komputerze, na którym pracujesz nie zapisano jeszcze żadnego makra nie znajdziesz też tego pliku.

 

Makra są z reguły przechowywane w Modułach. Jeżeli nagrywamy makro, nowy moduł dodawany jest automatycznie do pliku, w którym chcemy przechowywać makro. Moduł możemy także dodać ręcznie wybierając z Menu: Insert → Module.

 

 

Aby usunąć moduł, którego nie potrzebujemy klikamy go prawym klawiszem i wybieramy opcję ‘Remove [nazwa klikniętego modułu]...’

 

 

 

Zostaniemy zapytani czy chcemy przenieść gdzieś moduł przed wykasowaniem go. Jeśli chcemy skasować moduł wybieramy opcję ‘Nie’

 

 

Aby zmienić nazwę modułu w oknie Properties w miejscu zaznaczonym czerwonym prostokątem wprowadzamy nową nazwę modułu.

Nazwa nie może zawierać znaków spacji, z reguły zastępuje się je znakiem _.

 

 

Mając otwarty plik VBA.slsm utwórzmy w Excelu nowy skoroszyt (Zeszyt1) i korzystając z symboli ‘+’ ‘-‘ w oknie ‘Project – VBAProject’ doprowadzamy widok do postaci takiej jak poniżej.

 

  

 

Aby skopiować moduł ‘V4’ do pliku ‘VBA.xlms’ wystarczy kliknąć ten moduł lewym klawiszem myszy i przeciągnąć go na nazwę arkusza w którym chcielibyśmy aby się znalazł. 

 

 

Moduł wraz z makrami, które zawiera zostanie skopiowany do nowego pliku. Efekt tego widać poniżej.

Jeżeli w pliku, do którego kopiujemy znajduje się już moduł o takiej nazwie do nazwy nowego zostanie dodana cyfra ‘1’.

 

 

 

 

Operacje na Makrach

Jeżeli dwukrotnie klikniemy na nazwie jednego z modułów np. na ‘V4’, kody makr znajdujące się w tym module zostaną wyświetlone.

Proste makra zaczynają się od określenia ‘Sub’ po którym następuje nazwa makra oraz pusty nawias, kończą się natomiast słowami End Sub.

Poszczególne makra oddzielone są poziomymi liniami.

 

Aby przekopiować makro ‘ukrywanie()’ z modułu ‘V4’ w pliku VBA.xlsm do nowo utworzonego modułu ‘Module1’ w pliku ‘Zeszyt1’, należy:

1. Zaznaczyć tekst całego makra

2. Skopiować go (‘Ctrl’+C),

 

 

3. Dwukrotnie kliknąć moduł docelowy (Module1)

4. Wkleić makro (‘Ctrl’+ V)

 

W efekcie wyżej opisanych czynności makro zostanie skopiowane do modułu ‘Moje_Makra’ oraz wyświetlone w oknie Code.

 

 

Pewne typy makr opisanych w dalszych lekcjach muszą znajdować się w ściśle określonych miejscach np. w ThisWorkbook.

Operacje przeprowadzane na makrach zapisanych w Arkuszach lub ThisWorkbook niczym nie różnią się od operacji na makrach znajdujących się w modułach.