Często pracujesz z programami pakietu Microsoft Office? Budujesz rozbudowaną bazę danych w Excelu? A może po prostu chcesz rozwijać swoje umiejętności i jesteś zainteresowanym prostym językiem programowania?
Język VBA będzie idealnym wyjściem, który pozwoli nie tylko zoptymalizować wykonywane zadania, ale także ulepszyć je o nowe i ciekawe rozwiązania.
Na czym polega programowanie VBA?
Najprościej ujmując jest to język oprogramowania stworzony do użytku w bardzo popularnym i najczęściej używanym pakiecie Microsoft Office, ale nie tylko. Oprócz zastosowania w Microsoft Excel, czy Microsoft Word, jest on również dostępny innego typu programach np. w AutoCad. Za pomocą m.in. makropoleceń można przyspieszyć i ułatwić wykonywane przez program zadania.
Stworzone funkcje mogą mieć postać zwykłych funkcji typowych dla Excela, które wystarczy wpisać w komórkę i uruchomić, ale też mogą być nieodłączną częścią dokumentu uruchamianą automatycznie wraz z jego otwarciem. Możliwości wykorzystania tego języka jest naprawdę wiele, dlatego warto przyjrzeć się temu zagadnieniu, szczególnie jeśli jest się częstym użytkownikiem tego typu programów komputerowych, bo może to znacznie ułatwić codzienną żmudną pracę.
Czy aby korzystać z możliwości VBA trzeba znać cały język?
Oczywiście, że nie, ale aby umieć się nim posługiwać trzeba znać chociaż podstawy. To, co najlepsze w tym języku, oprócz wielu funkcjonalności, to jego prostota. Tworzenie makr można rozpocząć od nagrywania poszczególnych i znanych nam ruchów w programie, a następnie po wejściu w kod VBA zmodyfikować poprzez połączenie pojedynczych nagranych makr.
Przykład wykorzystania
Pracując w Microsoft Excel chcemy by za pomocą przycisku wstawionego do arkusza nasz program wykonywał kilka czynności po kolei. Bez VBA każdą z tych czynności musielibyśmy samemu uruchamiać pojedynczo, poświęcając temu znacznie więcej czasu za każdym razem.
Dzięki VBA możemy ułatwić sprawę, ale najpierw musimy się upewnić, że wśród naszych zakładek widnieje „Deweloper”, który zawierać będzie wszystkie niezbędne funkcje do działania. Jeśli w naszym programie nie została jeszcze uruchomiona ta usługa wystarczy wejść w opcje, a następnie „Dostosowywanie wstążki”. Po prawej stronie okienka, które nam się pojawiło mamy wypisane karty główne. Na liście kart odnajdujemy szukanego przez nas Dewelopera i zaznaczamy obok kratkę.
Zabieg ten sprawi, że po zapisaniu ustawień nowa zakładka pojawi się w górnej części programu i będziemy mogli przejść do działania.
Gdy uda nam się to zrobić wystarczy teraz rozwinąć nową zakładkę i wybrać „Zarejestruj makro”. Wyskoczy nam okienko o opcjach danego makra, w którym możemy nadać konkretną nazwę, przypisać skrót klawiszowy, którym będziemy uruchamiać makro oraz dodać opis dla ułatwienia dalszej pracy, gdy makr pojawi się więcej. Tę samą czynność można uruchomić również w lewym dolnym rogu, gdzie widnieje taka sama ikonka. Jest to bardzo podręczne w wielu sytuacjach, w których nie chcemy tracić czasu na rozwijanie zakładki.
Należy pamiętać, że od tej chwili wszystko, co wykonamy na arkuszach nagra się w naszym makro. Jeśli zaznaczymy jakąś konkretną komórkę program automatycznie przekonwertuje nasz ruch na polecenia w języku VBA. Dzięki temu powstaje właśnie nasze makro, którego nie musimy pisać od A do Z.
Załóżmy, że w pierwszym zadaniu chcemy by program zaznaczył komórkę B2, skopiował jej zawartość i wkleił ją do komórki A3.
Zatem zaznaczamy B2 i używając skrótu klawiszowego CTRL+C lub narzędzia Kopiuj, wydajemy programowi polecenie kopiowania, a następnie zaznaczamy komórkę A3 i wklejamy narzędziem Wklej bądź skrótem CTRL+V. By zakończyć naszą pierwszą część makra klikamy „Zatrzymaj rejestrowanie” w jednym z dwóch miejsc, którymi uruchamialiśmy makro. Od tej pory program nie rejestruje już naszych ruchów, a nasza czynność została przepisana na język VBA.
By zobaczyć, jak wygląda słowna forma makra, wystarczy w zakładce „Deweloper” kliknąć „Makra”, zaznaczyć w okienku nasze makro i wybrać opcję „Edycja”.
Jeśli chcemy uruchomić już nasze pierwsze makro, w widoku arkusza, w którym chcemy skopiować komórkę używamy skrótu klawiszowego, o ile został przypisany do makra, lub poprzez opcję „Uruchom” po wybraniu Makra.
Analogicznie postępujemy z drugim zadaniem, które chcemy nagrać, np. aby po wklejeniu zawartości do komórki A3 program formatował ją (zmienił kolor tła na czerwony, a czcionkę pogrubił i zmienił kolor na biały). Rozpoczynamy rejestrację kolejnego makra i zapisujemy.
Teraz przyda się podstawowa znajomość języka, gdzie po wejściu w kod VBA naszych dwóch makr, będziemy wiedzieli m.in., że polecenie Sub i End Sub są niezbędne do działania makra.
Potem wystarczy już tylko skopiować środkową część drugiego makra i wkleić po zakończeniu pierwszego, a tuż przed poleceniem End Sub, które kończy nasze makro.
Po zapisaniu zmian w naszym kodzie VBA, możemy uruchomić jedno makro, które wykona za nas pierwsze i drugie zadanie pod rząd, a my nie będziemy musieli za każdym razem wykonywać kilku czynności ręcznie.
To oczywiście najprostszy przykład zastosowania, ale jak znacząco może przyspieszyć naszą pracę, nie wspominając już o możliwościach, które czekają nas po zagłębieniu się w ten język.