VBA Excel Formularz Formanty Label wstawianie etykiet TextBox wstawianie pól tekstowych ComboBox wstawianie pól kombi ComboBox wstawianie pól kombi ComboBox wstawianie pól kombi OptionButton wstawianie przycisku opcji Toggle Button wstawianie przycisku przełącznika Frame wstawianie pola grupy CommandButton wstawianie przycisku polecenia TabStrip wstawianie elementu okna z kartami MultiPage wstawianie zakładkowego elementu okna dialogowego ScrollBar wstawianie paska przewijania wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek Image wstawianie obrazu RefEdit wybieranie zakresu arkusza
Okno Właściwości Podstawowe właściwości kontrolek (Name) Nazwa kontrolki BackColor Kolor tła Caption Opis widoczny na kontrolce ColumnCount Liczba kolumn Default Wartość domyślna Height Wysokość kontrolki Left Odległość lewej krawędzi kontrolki od lewego marginesu formatki MaxLenght Maksymalna długość wpisywanego ciągu znaków MousePointer Wygląd kursora po naprowadzeniu na kontrolkę Picture Obrazek wyświetlany jako tło kontrolki RowSource Zakres komórek arkusza, z których maja być skopiowane dane do kontrolki ScrollBars Paski przewijania TextAlign Wyrównanie tekstu Top Odległość górnej krawędzi kontrolki od górnego marginesu formatki Width Szerokość kontrolki WordWrap Zawijanie opisów umieszczonych na kontrolce
Pole listy Wstaw do projektu pole listy. 1. W oknie Code wybierz polecenie Insert/UserForm W pasku Toolbox odszukaj ikonę ListBox i przeciągnij na formularz Kliknij prawym przyciskiem myszy pole listy. 2. Z podręcznego menu wybierz polecenie View Code i wyświetl okno z kodem Private Sub ListBox1_Click() Jeżeli pasek Toolbox jest ukryty, kliknij ikonę Toolbox
Napisz program, który spowoduje wyświetlenie w oknie listy dwóch pozycji: Matematyka Fizyka Wybierz polecenie Insert/UserForm Wstaw do projektu pole listy Umieść kursor w miejscu, w którym ma być narożnik pola listy i przeciągnij kursor Wyświetl arkusz Excel i w komórce A1 wpisz Matematyka i w A2 Fizyka W oknie Properties - ListBox1 odszukaj RowSource i kliknij pole na prawo od etykiety RowSource i wpisz adres obszaru, w którym znajdują się dane i uruchom program
Pole combi Napisz program, który spowoduje wyświetlenie w oknie listy dwóch pozycji: Matematyka Fizyka w polu kombi Wykonaj analogiczne czynności jw. i wstaw pole kombi W ikonie Properties wybierz ComboBox Kliknij kartę Alphabetic i w oknie RowSource wpisz zakres komórek z danymi F7 okno kodu Uruchom program (F5)
Pole wyboru Utwórz formularz zawierający pole wyboru Wstawiamy CheckBoxy i dodajemy pole tekstowe z poleceniem: Wybierz kraj lub kraje. Zmieniamy opisy checkboxów: Hiszpania, Grecja, Francja i zmieniamy we właściwościach kolory itp. oraz nazwy jak na checkboxach. Do Wszystkie przypisujemy kod Private Sub Wszystkie_Click() Hiszpania.Value = True Grecja.Value = True Włochy.Value = True Uruchom formularz
Teraz dodamy drugi opis i 2 comboboxy, pierwszy będzie umożliwiał wybór dnia, drugi miesiąca. Dodamy 2 przyciski (CommandButton). Napisz program, który spowoduje wyświetlenie formularza na ekranie. Wpisz z klawiatury kod Private Sub UserForm_Click() Do zamknięcia formularza należy użyć instrukcji Unload nazwa_formularza, np. Unload UserForm1
Przycisk polecenia W arkuszu dodaj przycisk uruchamiający formularz. W kodzie przypisz do przycisku Private Sub CommandButton1_Click() UserForm1.Show Zakładkę nazwij Formularze_VBA
Przypisanie kodu Okno eksploratora w VBA Arkusz1(Formularze_VBA) Private Sub CommandButton1_Click() UserForm1.Show UserForm1 Private Sub UserForm_Initialize() dzien.list = Array("1", "2", "3", "4", "5", "6", "7", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31") miesiac.list = Array("czerwiec", "lipiec", "sierpień", "wrzesień", "październik") miesiac.listindex = 0 dzien.listindex = 0 Private Sub Wszystkie_Click() Francja.Value = True Grecja.Value = True Hiszpania.Value = True Private Sub Utworz_Click() Formularze_VBA.Utworz Unload Me Private Sub Anuluj_Click() Unload Me
Modules Formularze-VBA Sub Utworz() Francja = UserForm1.Francja.Value Grecja = UserForm1.Grecja.Value Hiszpania = UserForm1.Hiszpania.Value dzien = UserForm1.dzien.Value miesiac = UserForm1.miesiac.Value 'połączenie wybranych krajów If Francja Then wybrane_kraje = wybrane_kraje & "Francja " If Grecja Then wybrane_kraje = wybrane_kraje & "Grecja " If Hiszpania Then wybrane_kraje = "Hiszpania " 'wpisanie co wybrano Range("b1").FormulaR1C1 = wybrane_kraje Range("b2").FormulaR1C1 = dzien Range("b3").FormulaR1C1 = miesiac Jeśli chcemy skasować przycisk po zatwierdzeniu formularza, to wpisujemy: ActiveSheet.Shapes("CommandButton1").Select Selection.Delete