Jun 03 2008

Wtorki z VBA — kurs dla początkujących

Posted by Bartek

Tym wpisem rozpoczynam, krótki kurs wprowadzający do korzystania z VBA w Excelu, którego kolejne części będą pojawiały się w każdy wtorek. Dzisiaj będzie prosto i trochę nudno, czyli podstawowe informacje o edytorze VBA.

Zanim zaczniesz programować pamiętaj:

  • Kod źródłowy VBA umieszcza się zwykle w modułach. Moduły są przechowywane i zapisywane razem z skoroszytem Excela, do którego zostały dołączone.
  • Wewnątrz każdego modułu znajdują się procedury lub funkcje, czyli uporządkowane fragmenty kodu realizujące jakieś zadanie. Funkcja, w przeciwieństwie do procedury, po zakończeniu zawsze zwraca wartość lub tablicę, i dlatego można ją wywołać w Excelu jak zwykłą komórkę.

Edytor VBA

Aby uruchomić środowisko VBA w Excelu możesz albo nacisnąć ALT+F11 lub z menu Narzędzia wybrać opcje Makro, a następnie Edytor Visual Basic. Nie ma specjalnego sensu dokładnego opisywania edytora. Dla początkującego użytkownika ważne są dwa okna -- Eksploratora Projektu oraz Kodu. Pierwszy znajduje się po lewej stronie, a drugi to to duże okno na środku.

Na początek zajmiemy się oknem Eksplorator Projektu(lewe górne okno). Wyświetlane są tam w postaci drzewa:

  • Obiekty Excela -– wszystkie otwarte skoroszyty lub szablony (pogrubione), zawierające w sobie arkusze oraz obiekt ThisWorkbook, reprezentujący cały skoroszyt.
  • Moduły (Module) – gdzie znajdują się moduły, w których będziemy pisali programy.
  • Formularze, Klasy – którymi nie będziemy się na razie zajmowali.

Dla początkującego użytkownika Eksplorator Kodu ma właściwie jedno zastosowanie, pozwala się zorientować do którego skoroszytu przynależy dany moduł z kodem źródłowym. Istotniejszym jest okno Kodu (czasem nazywane Module), które zawiera kod źródłowy VBA.

Mimo, że jest to możliwe nie piszemy kodu źródłowego w oknie Code związanym z Arkuszami, ponieważ działanie takich programów jest ograniczone i działają one tylko w odniesieniu do tego konkretnego arkusza.
Cały kod źródłowy piszemy w modułach lub klasach.

Operacje na modułach/klasach

Aby utworzyć moduł z menu Insert wybrać opcje Module.

Aby usunąć moduł w oknie Eksploratora Projektu zaznaczyć moduł a następnie z menu File wybrać Remove xxx gdzie xxx oznacza nazwę zaznaczonego modułu. (Przed usunięciem zostaniesz zapytany czy wyeksportować moduł).

Każdy obiekt projektu może być wyeksportowany jako osobny plik lub zaimportowany. Są to pliki z rozszerzeniami.cls lub .bas (moduły), które są w rzeczywistości zwykłymi plikami tekstowymi.

Aby zmienić nazwę modułu klikamy na dany moduł, a następnie w oknie właściwości (Properties) znajdujemy własność (name), którą dowolnie zmieniamy.

Zawartość modułu

W module można przechowywać programy, procedury, funkcje, procedury właściwości i deklaracje. Pojedynczy moduł VBA może przechowywać dowolną liczbę procedur i/lub funkcji. Sposób organizacji modułu/modułów jest całkowicie zależny od programisty. Nawigację po oknie ułatwia rozwijana lista w prawym górnym narożniku okna, dzięki której możesz szybko przenieść się do właściwej procedury lub obszaru deklaracji. Warto też korzystać z przycisków w lewym dolnym bloku okna. Pierwszy z nich, Procedure View wyświetla tylko wskazaną procedurę, a drugi -- Full Module View zawartość całego modułu.

Kod źródłowy zapisany w modułach jest zapisywany razem z arkuszem do którego jest dołączany

Wprowadzanie kodu źródłowego języka VBA

VBA umożliwa pisanie programów tradycyjnie, czyli poprzez ręczne wprowadzanie kodu, lub poprzez rejestrowanie makr. Za tydzień zajmiemy się pisaniem prostych programów oraz if-em. Na dziś to tyle.

Przydatne informacje koncowe

  • Ctrl+Z cofa ostatnią operację
  • Aby uruchomić dowolną procedurę stajemy na niej kursorem i naciskamy F5.
  • Aby móc pisać kod źródłowy w VBA w arkuszu kalkulacyjnym nie może być aktywny kursor wewnątrz komórki

Powiązane artykuły:

Leave a Reply