Kurs VBA – cz. 4 – Przeglądamy kod

Podczas nagrywania makr w poprzedniej części kursu stworzony został pewien kod VBA, który dzisiaj będziemy analizować.

Makro z odwołaniami bezwzględnymi

Użyj skrótu alt + F8 lub wybierz Makra w grupie Kod na karcie Deweloper. Wybierz pierwsze makro (o nazwie miesiace_bezwglednie) i naciśnij Edycja. Otworzy się znany już edytor VBA, w którym znajdziemy poniższy kod.

Proste makro, jednak wykonuje w ułamku sekundy to, co sami robimy kilkadziesiąt sekund.

Słowo sub oznacza procedurę. Uruchamiając z poziomu Excela makro, uruchamiamy właśnie jakąś procedurę i jest to podstawowa część programu.  Możemy ją uruchomić na wiele sposobów, które przedstawię w kolejnej części kursu. Bardzo często jedna procedura wywołuje (czyli uruchamia) kilka innych. Z kolei te inne mogą wywoływać kolejne. W ten sposób możemy łatwo tworzyć rozbudowane programy, które zachowują czytelność.

Spójrzmy więc na kod. Powyżej widać 7 podobnych par instrukcji, które oznaczają:

  • ActiveCell.FormulaR1C1 = „styczeń” : Wpisujemy w aktywną komórkę wartość z prawej strony równania.
  • Range(„A2”).Select : Zaznaczamy komórkę umieszczoną w nawiasie.
Tekst na zielono, rozpoczynający się pojedynczym apostrofem nazywamy komentarzem. Jest on ignorowany przez Excela i może zawierać cokolwiek. Możemy je używać do wyjaśniania, do czego służą poszczególne instrukcje.
Podczas czytania każdego z przykładów zachęcam do samodzielnej zabawy z nim. Można spróbować zmieniać na różne sposoby zawartość tekstów w cudzysłowach, dodawać i usuwać instrukcje,

Makro z odwołaniami względnymi

Otwórzmy drugą z utworzonych w poprzedniej części kursu procedur.

Pojawia się tutaj nowa instrukcja:

  • ActiveCell.Offset(1, 0).Range(„A1”).Select – Jak widać, teraz zaznaczanie jest bardziej skomplikowane. Mówimy Excelowi „Zaznacz A1, ale teraz A1 nie leży tam gdzie zawsze, tylko jest przesunięte jeden wiersz niżej niż zaznaczona komórka”. Za przesunięcie odpowiada część ActiveCell.Offset(1, 0).

Niedługo dowiesz się, że powyższą instrukcję można by też zapisać :

 

Ostatecznie kod generowany automatycznie rzadko jest optymalny (mimo, że oczywiście działa prawidłowo) i często można go poprawić.




Subskrybuj RSS, lub polub blog na Facebooku aby otrzymywać najnowsze informacje o rozwoju kursu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *