Opracowała Joanna Kisielińska 1 FORMULARZE TWORZENIE FORMULARZA W oknie Edytora VB Insert/UserForm WYŚWIETLANIE FORMULARZY UŻYTKOWNIKA Metoda Show obiektu UserForm. Sub PokazFormularz1 UserForm1.Show Polecenie Run Sub/ UserForm (F5 oraz ) Uwaga: Zamknięcie formularza powoduje powrót do miejsca, z którego został uruchomiony.
Opracowała Joanna Kisielińska 2 WŁAŚCIWOŚCI FORMULARZA I FORMANTÓW Z formularzem i formantami związane są właściwości. Wyświetlenie właściwości zaznaczonego formantu lub formularza: View Properties Window F4 MP polecenie Properties przycisk Properties Właściwości mogą być wyświetlane alfabetycznie lub według kategorii: Podstawowe właściwości formularza Name Nazwa formularza BackColor Kolor tła (wybrany np. z palety) BorderColor Kolor krawędzi BorderStyle Styl krawędzi Caption Tytuł umieszczony na belce formularza Font Czcionka ForeColor Kolor czcionki Height Wysokość formularza Width Szerokość formularza Picture Obraz (plik) wstawiony do formularza PictureAlignment Położenie wstawionego obrazu PictureTiling Powielenie obrazu PictureSizeMode Rozmiar wstawionego obrazu SpecialEffect Efekty specjalne dotyczące obramowania formularza
Opracowała Joanna Kisielińska 3 ZDARZENIA ZWIĄZANE Z FORMULARZEM I FORMANTAMI Zdarzeniami są operacje wykonywane na obiektach takie jak kliknięcie, aktywacja, deaktywacja itp. Zdarzenia mogą być związane z formularzami i ich formantami. Do obsługi zdarzeń związanymi z obiektami można tworzyć procedury, które są automatycznie uruchamiane w chwili wystąpienia danego zdarzenia. Przejście do procedury obsługującej zdarzenia związane z zaznaczonym formantem lub formularzem: View Code F7 MP polecenie View Code dwukrotne kliknięcie formularza lub formantu W lewym polu wybierany jest obiekt - UserForm lub konkretny formant formularza. W prawym wybór zdarzenia, dla obsługi którego tworzona jest procedura Podstawowe zdarzenia formularza Activate przed aktywacją formularza Deactivate po deaktywacji formularza Click kliknięcie DblClick podwójne kliknięcie
Opracowała Joanna Kisielińska 4 DODAWANIE FORMANTÓW DO FORMULARZA Do formularza można dokładać elementy zwane formantami przy pomocy przybornika (View Toolbox) Należy wybrać myszką odpowiedni formant, oraz zaznaczyć na formularzu miejsce i pożądany rozmiar. Znaczenie przycisków: Zaznacz obiekty (SelectObjects) służy do podświetlania grupy formantów, aby wykonać na nich określona operację (np. skopiować) Etykieta (Label) tekst wyświetlany na formularzu. Pole tekstowe (TextBox) wprowadzanie przez użytkownika danych lub wyświetlanie zawartości komórek arkusza. Pole kombi (ComboBox) wybór jednej z wielu możliwości, można także wpisać w polu wartość. Pole listy (ListBox) podobny do pola kombi. Pole wyboru (CheckBox) wybór miedzy dwiema możliwościami (tak lub nie, prawda lub fałsz). Wybrane (zaznaczone) pole wyboru ma wartość True, nie wybrane False. Przycisk opcji (OptionButton) wybór jednej z kilku możliwości. Każdą możliwość reprezentuje przycisk opcji. Przyciski mogą być związane w polu grupy. Wybrany może zostać tylko jeden przycisk. Przycisk przełącznika (ToggleButton) działa jak pole wyboru. Pole grupy (Frame) służy do grupowania innych formantów, takich jak przycisk opcji. Wówczas można wybierać jedynie jeden z nich. Przycisk polecenia (CommandButton) jest wykorzystywany do uruchamiania poleceń związanych z obsługa zdarzeń dla przycisku. Pasek tabulatorów (TabStrip) - tworzenie pola zawierającego zakładki. Użytkownik może wybrać jedna z zakładek. Wszystkie zakładki związane są z jedną stroną. Wiele stron (MultiPage) formant może zawierać wiele stron (podobny do paska tabulatorów). Przycisk pokrętła (SpinButton) poprzez przyciskanie strzałek umożliwia zwiększanie i zmniejszanie pewnych wartości. Pasek przewijania (ScrollBar) działa jak przycisk pokrętła, tylko przewijanie może następować także większymi porcjami. Obraz (Image) umieszczenie na formularzu grafiki. Edycja zakresu (RefEdit) umożliwia użytkownikowi uzyskanie adresu zaznaczonego obszaru na arkuszu.
Opracowała Joanna Kisielińska 5 ODWOŁANIA DO FORMANTÓW Do formantów można odwołać się poprzez podanie ich nazwy oraz nazwy formularza UserForm1.Label1 Uwaga: Excel nadaje formantom nazwy automatycznie, użytkownik powinien dostosować je do swoich potrzeb Odwołanie do właściwości formantu lub formularza: UserForm1.Label1.Caption= Napis w etykiecie UserForm1.Caption= Dane pracowników ETYKIETA (LABEL) Etykiety służą do opisywania innych elementów formularza lub do umieszczania informacji na formularzu. Podstawowe właściwości etykiety Name Nazwa etykiety Caption Napis na etykiecie BackColor Kolor tła BorderColor Kolor krawędzi BorderStyle Styl krawędzi ForeColor Kolor czcionki Font Czcionka Height Wysokość etykiety Width Szerokość etykiety Picture Obraz (plik) wstawiony do etykiety TextAlign Sposób wyrównania tekstu Właściwość Font po naciśnięciu przycisku
Opracowała Joanna Kisielińska 6 POLE TEKSTOWE (TEXTBOX) Używane do wprowadzania przez użytkownika danych lub wyświetlania zawartości komórek arkusza. Wybrane właściwości pola tekstowego Name Nazwa pola tekstowego ControlSource Źródło danych adres komórki Multiline Możliwość pisania w kilku wierszach Value Wartość w polu ScrollBars Umieszczanie pasków przewijania w polu Formularz do rejestrowania znajomych na arkuszu znajomi Arkusz znajomi: Zasady pracy z formularzem UserForm2: otwarcie formularza wyświetlenie danych pierwszej osoby przycisk Nowy przygotowanie formularza do wpisywania nowych danych (opróżnienie z danych pól tekstowych i odszukanie pierwszego pustego wiersza) wpisanie danych do pól formularza przycisk Zapisz zapisanie na arkuszu danych wpisanych do pól tekstowych formularza
Opracowała Joanna Kisielińska 7 Procedury obsługi zdarzeń dla formularza UserForm2: Option Explicit Dim i Private Sub CommandButton1_Click() przycisk Nowy Dim kom As Range Set kom = Application.Worksheets("znajomi").Range("a1") i = 1 Do Until kom.offset(i, 0) = "" i = i + 1 Loop TextBox1.Value = "" TextBox2.Value = "" TextBox3.Value = "" TextBox4.Value = "" Private Sub CommandButton2_Click() przycisk Zapisz Dim kom As Range Set kom = Application.Worksheets("znajomi").Range("a1") kom.offset(i, 0) = TextBox1.Value kom.offset(i, 1) = TextBox2.Value kom.offset(i, 2) = TextBox3.Value kom.offset(i, 3) = TextBox4.Value Private Sub UserForm_Activate() Dim ark As Worksheet Set ark = Application.Worksheets("znajomi") TextBox1.Value = ark.range("a2") TextBox2.Value = ark.range("b2") TextBox3.Value = ark.range("c2") TextBox4.Value = ark.range("d2")
Opracowała Joanna Kisielińska 8 POLE KOMBI (COMBOBOX) Wybór jednej z wielu możliwości, można także wpisać tu wartość. Formularz do rejestrowania firm Dim i Private Sub UserForm_Activate() Dim ark As Worksheet Set ark = Application.Worksheets("firmy") TextBox1.Value = ark.range("a2") ComboBox1.Value = ark.range("b2") Private Sub CommandButton1_Click() przycisk Nowy Dim kom As Range Set kom = Application.Worksheets("firmy").Range("a1") i = 1 Do Until kom.offset(i, 0) = "" i = i + 1 Loop TextBox1.Value = "" ComboBox1.RowSource = "d1: d5" Private Sub CommandButton2_Click() przycisk Zapisz Dim kom As Range Set kom = Application.Worksheets("firmy").Range("a1") kom.offset(i, 0) = TextBox1.Value kom.offset(i, 1) = ComboBox1.Value
Opracowała Joanna Kisielińska 9 POLE LISTY (LISTBOX) Wyświetlanie w polu tekstowym pozycji wybranej z listy Właściwość RowSource pola listy musi zawierać obszar wyświetlanych danych (tu D1:D5) Po wybraniu miasta w polu listy - w polu tekstowym pojawia się ta nazwa Private Sub ListBox1_Click() TextBox1.Value = ListBox1.Value POLE GRUPY (FRAME) I PRZYCISK OPCJI (OPTIONBUTTON) Pole grupy jest ramką pozwalającą wyodrębnić pewne formanty i traktować je jako grupę. Grupę stanowić może zestaw przycisków opcji. Wówczas jednocześnie wybrany może zostać tylko jeden przycisk z grupy. Wybrane właściwości pola grupy Name Nazwa pola grupy Caption Napis u góry ramki Font Formaty czcionki dotyczące napisu u góry ramki Wybrane właściwości przycisku opcji Name Nazwa przycisku opcji Caption Napis obok przycisku Font Formaty czcionki dotyczące napisu ControlSource Komórka związana z przyciskiem, jest w niej True lub False, w zależności od stany przycisku Value Stan przycisku, True (wybrany) lub False (nie wybrany)
Opracowała Joanna Kisielińska 10 Odpowiedź na pytanie Właściwości formularza: Caption - Zagadka Właściwości Frame1: Caption Najdłuższa rzeka świata, Font Pogrubiony, 11, Tahoma Właściwości OptionButton1: Caption Nil, Font Pogrubiony, 10, Tahoma Właściwości OptionButton2: Caption Kongo, Font Pogrubiony, 10, Tahoma Właściwości OptionButton3: Caption Amazonka, Font Pogrubiony, 10, Tahoma Właściwości CommandButton1: Caption OK, Font Pogrubiony, 12, Tahoma Właściwości TextBox1: Font Pogrubiony, 12, Tahoma Obsługa zdarzeń formularza i przycisku Private Sub CommandButton1_Click() If OptionButton1 = True Then TextBox1.Value = "Dobrze - Brawo" Else TextBox1.Value = "Źle - Popraw" End If Private Sub UserForm_Activate() TextBox1.Value = "Zgadnij?"
Opracowała Joanna Kisielińska 11 POLE WYBORU (CHECKBOX) Wybór miedzy dwiema możliwościami (tak lub nie, prawda lub fałsz). Wybrane (zaznaczone) pole wyboru ma wartość True, nie wybrane False. Sprawdzając stan można podejmować odpowiednie działania. Pole wyboru ma podobne właściwości do pola opcji. Obliczenie wartości zamówienia Właściwości formularza: Caption - Zamówienie Właściwości CheckBox1: Caption Wiedza i życie, Font Pogrubiony, 10, Tahoma Właściwości CheckBox2: Caption Polityka, Font Pogrubiony, 10, Tahoma Właściwości CheckBox3: Caption Świat nauki, Font Pogrubiony, 10, Tahoma Właściwości CheckBox4: Caption Wprost, Font Pogrubiony, 10, Tahoma Właściwości CheckBox5: Caption Gazeta prawna, Font Pogrubiony, 10, Tahoma Właściwości Label1: Caption Do zapłaty, Font Pogrubiony, 10, Tahoma Właściwości CommandButton1: Caption Oblicz rachunek, Font Pogrubiony, 10, Tahoma, WordWrap True (zawijanie tekstu) Właściwości TextBox1: Font Pogrubiony, 12, Tahoma Obsługa zdarzeń przycisku Private Sub CommandButton1_Click() Dim sum As Single sum = 0 If CheckBox1.Value = True Then sum = sum + 6 If CheckBox2.Value = True Then sum = sum + 4 If CheckBox3.Value = True Then sum = sum + 10 If CheckBox4.Value = True Then sum = sum + 4 If CheckBox5.Value = True Then sum = sum + 3 TextBox1.Value = sum
Opracowała Joanna Kisielińska 12 Pola wyboru można umieszczać w ramce (polu grupy) - ma to znaczenie jedynie organizacyjne i graficzne PRZYCISK PRZEŁĄCZNIKA (TOGGLEBUTTON) Działanie analogiczne do pola wyboru. Przycisk może być włączony (True) lub wyłączony (False). Obsługa zdarzeń przycisku Private Sub CommandButton1_Click() Dim sum As Single sum = 0 If ToggleButton1 = True Then sum = sum + 6 If ToggleButton2 = True Then sum = sum + 4 If ToggleButton3 = True Then sum = sum + 10 If ToggleButton4 = True Then sum = sum + 4 If ToggleButton5 = True Then sum = sum + 3 TextBox1.Value = sum
Opracowała Joanna Kisielińska 13 PRZYCISK POLECENIA (COMMANDBUTTON) Przycisk polecenia jest wykorzystywany do uruchamiania procedury obsługi zdarzeń (przy kliknięciu). Wybrane właściwości przycisku polecenia Name Nazwa przycisku polecenia Caption Napis na przycisku Font Formaty czcionki dotyczące napisu PASEK TABULATORÓW (TABSTRIP) Umożliwia tworzenie pola zawierającego zakładki, między którymi można przemieszczać się myszką lub klawiszem Tab. Użytkownik może wybrać w danym momencie jedną zakładkę. Wszystkie zakładki związane są z jedną stroną. Wyświetlanie danych personalnych Właściwości formularza: Caption Dane osobowe Właściwości TabStrip1: Font Pogrubiony, 10, Tahoma Określenie nazwy zakładek (Excel nazywa je domyślnie Tab1, Tab2...) MP dla zakładki Właściwości TextBox1: Font Pogrubiony, 12, Tahoma Obsługa zdarzeń paska tabulatorów Private Sub TabStrip1_Click(ByVal Index As Long) Dim a If TabStrip1.Value = 0 Then TextBox1.Value = Worksheets("dane").Range("a2") Else TextBox1.Value = Worksheets("dane").Range("b2") End If Właściwość TabStrip1.Value ma wartość 0 jeśli wybrana jest pierwsza zakładka, 1 jeśli druga, itd.
Opracowała Joanna Kisielińska 14 WIELE STRON (MULTIPAGE) Formant podobny do paska tabulatorów. Różnica polega na tym, że z każdą zakładką związana jest inna strona (każda zakładka może mieć inne formant).
Opracowała Joanna Kisielińska 15 PRZYCISK POKRĘTŁA (SPINBUTTON) Określanie wartości. Przyciskanie strzałek pokrętła umożliwia zwiększanie i zmniejszanie wartości, która jest właściwością Value pokrętła. Klikanie na przyciski pokrętła powoduje powiększanie lub zmniejszanie wartości w polu tekstowym Właściwości pokrętła Max (100), Min (0), SmallChange (1), Orientation (1 - pionowa) Procedury obsługi zdarzeń Private Sub SpinButton1_Change() TextBox1.Value = SpinButton1.Value Private Sub UserForm_Activate() TextBox1.Value = SpinButton1.Value PASEK PRZEWIJANIA (SCROLLBAR) Działa jak przycisk pokrętła, tylko przewijanie może następować małymi lub większymi porcjami. Klikanie na przyciski pokrętła powoduje powiększanie lub zmniejszanie wartości w polu tekstowym Właściwości pokrętła Max (100), Min (0), SmallChange (1), LargeChange (10), Orientation (1 - pionowa) Procedury obsługi zdarzeń Private Sub ScrollBar1_Change() TextBox1.Value = ScrollBar1.Value Private Sub UserForm_Activate() TextBox1.Value = ScrollBar1.Value
Opracowała Joanna Kisielińska 16 OBRAZ (IMAGE) Wybrane właściwości obrazu Name PictureAlignment PictureSizeMode Nazwa formularza Wyrównanie obrazu w zaznaczonej ramce: 0 lewy górny róg 1 prawy górny róg 2 środek 3 lewy dolny róg 4 prawy dolny róg Określenie rozmiaru obrazka względem ramki: 0 Clip pierwotne rozmiary 1 Strech powiększenie lub zmniejszenie obrazka do rozmiarów ramki 2 Zoom powiększenie lub zmniejszenie obrazka z zachowaniem proporcji EDYCJA ZAKRESU (REFEDIT) Pobranie adresu zaznaczonego obszaru na arkuszu. Adres zawiera właściwość Value. Formatowanie obszaru wprowadzanego dynamicznie. Po podświetleniu formatowanego obszaru należy kliknąć przycisk Formatuj zaznaczony obszar. Procedura obsługi zdarzenia związanego z przyciskiem Private Sub CommandButton1_Click() Range(RefEdit1.Value).Interior.ColorIndex = 6 Range(RefEdit1.Value).Borders.ColorIndex = 4 Range(RefEdit1.Value).Font.ColorIndex = 3 Range(RefEdit1.Value).Font.Bold = True Range(RefEdit1.Value).Font.Italic = True