programy, które można tworzyć w vba moduły
Transkrypt
programy, które można tworzyć w vba moduły
PROGRAMY, KTÓRE MOŻNA TWORZYĆ W VBA Pracując w VBA możemy tworzyć trzy różne rodzaje programów: Sub - Prodecura - program, który wykonuje określone polecenia nie zwracając żadnej wartości, Function - Funkcja- program, który zwraca jakąś wartość, Property - Właściwość - program tworzony w module ClasModule do ustalania własności obiektów Każdy program zaczyna się od słowa kluczowego określającego typ programu, następnie podana jest nazwa programu i argumenty (opcjonalnie). Koniec programu oznaczany jest komendą End i typem programu. Dobrym przykładem jest procedura, która zmienia format zaznaczonych komórek - zmienia czcionkę, kolor czcionki i tło komórki: Sub FormatowanieZakresu() Selection.Font.Name = "Arial" Selection.Font.ColorIndex = 2 Selection.Font.Size = 12 Selection.Interior.ColorIndex = 33 End Sub MODUŁY Kod tworzonych programów umieszcza się zazwyczaj w modułach. Aby dodać nowy moduł do projektu, należy wybrać z menu głównego Edytora VBA polecenia Insert - Module. Okno nowo otwartego modułu wygląda jak okno pliku tekstowego można w nim tworzyć makra. Przed wpisaniem do modułu kodu należy się upewnić, że otwarty jest właściwy moduł, co widać na niebieskim pasku na górze okna edycji. Aby wybrać inny moduł (gdy jest ich kilka) należy dwukrotnie kliknąć na odpowiednią nazwę oknie Project Explorer. Przykładowo, dwukrotne kliknięcie na nazwę modułu mProsteMakra spowoduje otworzenie okna modułu. Makra nagrane w Excelu również umieszczane są w modułach, które można otworzyć i przerabiać w edytorze VBA. URUCHAMIANIE MAKRA Gdy makro zostanie stworzone (poprzez nagranie, lub napisanie) trzeba je przetestować. Do testowania makra warto korzystać z menu głównego Debug, które zawiera polecenia pozwalające wywoływać makro w różny sposób: Step Into- to polecenie wywołuje makro krokowo, Step Over - to polecenie wywołuje krokowo makro (chyba że w makrze wywołujemy inne makro,wtedy zostanie ono wywołane w całości), Step Out - to polecenie wywołuje do końca to makro, które jest w danym momencie aktywne, Run to Cursor - wywołuje makro do kursora, a potem możemy wywołać makro krokowo, Set Next Statement – przenosi żółtą strzałke do linii, w której znajduje się kursor (nie wykonując żadnych poleceń), Show Next Statement – przenosi kursor do linii, która ma zostać wykonana. Podczas wywoływania makra krokowo (np. przy użyciu klawisza F8) na marginesie z lewej strony modułu pojawia się żółta strzałka, a linia na wysokości strzałki otrzymuje żółte tło. To oznacza, że program jest gotowy do wykonania polecenia z zaznaczonej linii. Aby wykonać komendę, ponownie należy nacisnąć F8. Zaznaczenie przesunięte zostanie do kolejnej linii, a komenda zostanie wykonana. Aby wywołać makro do pewnego momentu szybko, a dopiero od pewnego miejsca krokowo można ustawić tzw. punkt przerwania (Breakpoint)- klikając na lewym marginesie na wysokości linii, w której chcemy przerwać działanie makra, lub używając polecenia z menu Debug (Toggle Breakpoint). Linia w której ustawiony jest punkt przerwania zaznaczona jest na brązowo, a na marginesie widoczna jest brązowa kropka. Aby wywołać makro w całości, można skorzystać z przycisków na pasku narzędzi lub z menu Run. Użycie niebieskiej strzałki (polecenie Run) wywołuje makro. Niebieski kwadrat kończy wykonywanie makra (Reset). Aby przerwać (zatrzymać, z możliwością wznowienia) wykonywanie makra używa sie polecenia Break. UWAGA: W trakcie krokowego wykonywania makra zdarza się, że jakaś komenda została źle wpisana, i po jej wykonaniu chcemy ją zmienić i wywołać jeszcze raz. Można to zrobić bez przerywania działania makra. Wystarczy chwycić żółtą strzałkę na marginesie modułu i przeciągnąć ją na wysokość linii, która ma zostać wywołana. Naciśnięcie klawisza F8 spowoduje wywołanie komendy.