Język Visual Basic
Reguły nazewnictwa w języku Visual Basic, zasady konstrukcji prawidłowego kodu, stosowanie komentarzy. Typy danych w języku Visual Basic. Zmienne złożone (Type) - definiowanie własnych typów danych. Zmienne tablicowe (wielowymiarowe), zmienne ze stałą liczną elementów, dynamiczna konstrukcja zmiennych tablicowych (ReDim). Instrukcja warunkowa If, instrukcja wielokrotnego wyboru Select Case. Wielokrotne powtarzanie operacji za pomocą pętli For oraz pętli Do. Warunki logiczne w pętli Do. Użycie pętli For Each do iteracji po obiektach takich jak: komórki, arkusze, elementy tabel przestawnych). Przydatne funkcje wbudowane języka Visual Basic: funkcje tekstowe, konwersji, sprawdzające (CDbl, CDate, Left, Mid, Replace, Instr, DatePart, DateDiff). Zasięg zmiennych: zmienne lokalne Private oraz globalne Public, zmienne typu Static.
Funkcje w języku Visual Basic
Budowanie własnych funkcji do wykorzystania w innych funkcjach i procedurach lub do użycia jako funkcje arkuszowe Excela. Przekazywanie argumentów do funkcji, zmienna liczba argumentów, zwracanie wyniku przez funkcję. Tworzenie funkcji prawidłowo działających na dużych obszarach (np. milion wierszy). Dostęp funkcji arkuszowych Excela w kodzie za pomocą obiektu Application.WorksheetFunction (np. użycie funkcji ILE.NIEPUSTYCH). Odświeżanie funkcji stworzonych w VBA (Application.Volatile). Prawidłowe przekazywanie argumentów do zmiennych oraz procedur, operator ByVal oraz ByRef. Argumenty tablicowe, obiektowe oraz opcjonalne.
Obiekty Excela
Podstawowe obiekty: Application (program Excel), Workbook (skoroszyt), Worksheet (arkusz), Range (komórka). Inne obiekty często używane w codziennej praktyce: Chart (wykres), PivotTable (tabela przestawna), PivotField (pole tabeli przestawnej), Filter (filtr). Różne metody dostępu do obiektu Range (komórka): Offset, Cells , Union, Intersect, CurrentRegion, SpecialCells, Areas. Właściwości oraz metody obiektu Range wykorzystywane w praktyce. Podstawowe właściwości obiektu Application (Screen Updating, Quit, GetOpenFilename). Zmienne obiektowe - prawidłowa deklaracja oraz użycie, zmienna ogólnego typu Object.
Debugowanie kodu
Zaawansowana obsługa edytora Visual Basic, określanie opcji edytora (Option Explicit, konfiguracja czcionki, obsługa okien wewnątrz edytora). Zasady debugowania kodu w edytorze: okno Watches, ustawianie punktów przerwania, warunkowe zatrzymywanie kodu, wyświetlanie zawartości zmiennych złożonych i tablicowych. Okno Immediate - praktyczna metoda wyświetlania wartości zmiennych i obiektów Excela. Krokowe wykonywanie procedur, skróty klawiszowe F9, F8, F5. Obserwowanie wartości zmiennych, dodawanie zmiennych do okna Watches. Obsługa błędów w kodzie: instrukcja OnError Goto, OnError Resume Next.
Formularze użytkownika
Formanty ActiveX na formularzach użytkownika: pole listy, pole kombi, pole wyboru, przycisk opcji, pokrętło, pasek przewijania, przycisk polecenia. Wiązanie list ze stałym źródłem danych (nazwy stałe oraz dynamiczne), wypełnianie list za pomocą kodu VBA. Listy z możliwości zaznaczania wielu elementów (MultiSelect). Tworzenie złożonych formularzy użytkownika w edytorze Visual Basic, właściwości formularzy, formularze modalne i niemodalne. Powiązanie formantów między sobą z użyciem procedur zdarzeniowych, podstawowe zdarzenia formularzy i formantów (Click, Activate, Change, AfterUpdate, Exit). Automatycznie uruchamiania formularza przy otwarciu pliku, ustawianie wartości początkowych formantów na formularzu. Zastosowanie standardowych okien do otwierania i zapisywania plików (Application.GetOpenFilename, Application.Dialog).
Operacje na plikach i zdarzenia
Funkcje języka Visual Basic operujące na plikach: kopiowanie lub zmiana nazwy (FileCopy), kasowanie pliku (Kill). Sprawdzanie czy plik istnieje na dysku za pomocą polecenia Dir, użycie Dir oraz pętli do automatycznego otwierania wielu plików. Otwieranie skoroszytów Excela za pomocą Workbooks.Open, zamykanie oraz zapisywanie plików. Zdarzenia arkuszowe (wiązanie kodu z akcjami użytkownika na arkuszu): Change, SelectionChange, BeforeDoubleClick). Obsługa zdarzeń arkuszowych dla wielu arkuszy (np. Workbook.Change). Zdarzenia skoroszytowe (wiązanie kodu z akcjami użytkownika na skoroszycie): Open, BeforeClose.
Złożona konwersja danych
Użycie języka Visual Basic, obiektów Excela, formularzy oraz formantów do złożonych operacji konwersji danych. Budowanie procedur automatycznie otwierających pliki, pobierających z nich dane, przetwarzających oraz zapisujących wynik do pliku docelowego. Budowanie procedur pobierających dane, przetwarzających je a następnie dzielących je według różnych kryteriów i zapisujących w różnych arkuszach oraz plikach. Procedury operujące na danych o zmiennej postaci (wymagającej odnalezienia właściwego zakresu lub początku danych). Budowanie złożonych procedur opartych o tabele przestawne (tworzenie w kodzie tabel przestawnych, dynamiczna zmiana pól oraz opcji w tabelach przestawnych, tworzenie wielopoziomowych tabel przestawnych).