Dodaj sterowanie | Pokaż formularz użytkownika | Przypisz makra | Przetestuj formularz użytkownika
W tym rozdziale dowiesz się, jak tworzyć Formularz użytkownika Excel VBA . Formularz użytkownika, który stworzymy, wygląda następująco:
Dodaj sterowanie
Aby dodać kontrolki do Userform, wykonaj następujące kroki.
1. Otwórz Edytor Visual Basic . Jeśli Eksplorator projektu nie jest widoczny, kliknij Widok, Eksplorator projektu.
2. Kliknij Wstaw, Formularz użytkownika. Jeśli Przybornik nie pojawi się automatycznie, kliknij Widok, Przybornik. Twój ekran powinien być skonfigurowany jak poniżej.
3. Dodaj kontrolki wymienione w poniższej tabeli. Po zakończeniu wynik powinien być zgodny z obrazem formularza użytkownika pokazanym wcześniej. Na przykład utwórz kontrolkę pola tekstowego, klikając pole tekstowe w przyborniku. Następnie możesz przeciągnąć pole tekstowe na formularzu użytkownika. Po dotarciu do ramki samochodu pamiętaj, aby najpierw narysować tę ramkę, zanim umieścisz w niej dwa przyciski opcji.
4. Zmień nazwy i podpisy kontrolek zgodnie z poniższą tabelą. Nazwy są używane w kodzie Excel VBA. Napisy to te, które pojawiają się na ekranie. Dobrą praktyką jest zmiana nazw kontrolek. Dzięki temu Twój kod będzie łatwiejszy do odczytania. Aby zmienić nazwy i podpisy kontrolek, kliknij Widok, okno Właściwości i kliknij każdą kontrolkę.
Kontrola | Nazwa | Podpis |
---|---|---|
Formularz użytkownika | KolacjaPlannerUserFormularz | Planowanie kolacji |
Pole tekstowe | NazwaPole Tekstowe | |
Pole tekstowe | TelefonPole Tekstowe | |
Skrzynka na listy | Pole listy miast | |
Pole kombi | Kolacja ComboBox | |
Pole wyboru | Pole wyboru daty1 | 13 czerwca |
Pole wyboru | Pole wyboru daty2 | 20 czerwca |
Pole wyboru | Pole wyboru daty3 | 27 czerwca |
Rama | Rama samochodu | Samochód |
Przycisk opcji | Przycisk opcji samochodu1 | tak |
Przycisk opcji | Przycisk opcji samochodu2 | Nie |
Pole tekstowe | PieniądzePole Tekstowe | |
Przycisk wirowania | MoneySpinPrzycisk | |
Przycisk polecenia | Przycisk OK | ok |
Przycisk polecenia | Przycisk Wyczyść | Jasne |
Przycisk polecenia | Przycisk Anuluj | Anulować |
7 etykiet | Nie trzeba zmieniać | Imię i nazwisko:, Numer telefonu: itp. |
Uwaga: pole kombi to rozwijana lista, z której użytkownik może wybrać element lub uzupełnić swój wybór. Można wybrać tylko jeden z przycisków opcji.
Pokaż formularz użytkownika
Aby wyświetlić formularz użytkownika, umieść przycisk polecenia w arkuszu i dodaj następującą linię kodu:
excel obliczyć wiek od daty urodzeniaPrywatny PodCommandButton1_Click()
DinnerPlannerUserForm.Show
Kończyć się Pod
Teraz utworzymy Sub UserForm_Initialize. Gdy użyjesz metody Show dla formularza użytkownika, ten podrzędny zostanie automatycznie wykonany.
1. Otwórz Edytor Visual Basic .
2. W Eksploratorze projektów kliknij prawym przyciskiem myszy DinnerPlannerUserForm, a następnie kliknij Wyświetl kod.
3. Wybierz Formularz użytkownika z lewej listy rozwijanej. Wybierz Zainicjuj z prawej listy rozwijanej.
4. Dodaj następujące linie kodu:
Prywatny PodUserForm_Initialize()'Puste pole tekstowe nazwy
NameTextBox.Value = ''
'Puste pole tekstowe telefonu
PhoneTextBox.Value = ''
'Pusta lista miast
CityListBox.Clear
'Wypełnij pole listy miast
ZPole listy miast
.AddItem „San Francisco”
.Dodaj pozycję „Oakland”
.Dodaj element „Richmond”
Kończyć się Z
„Pusta kolacja ComboBox”
KolacjaComboBox.Wyczyść
„Wypełnij kolację ComboBox”
ZKolacja ComboBox
.AddItem „Włoski”
.Dodaj pozycję „Chiński”
.AddItem „Frytki i Mięso”
Kończyć się Z
'Odznacz pola kontroli danych
Pole wyboru daty1.Wartość =Fałszywe
DateCheckBox2.Value =Fałszywe
DataCheckBox3.Wartość =Fałszywe
„Nie ustaw żadnego samochodu jako domyślnego”
CarOptionButton2.Wartość =Prawdziwe
'Opróżnij pole tekstowe pieniędzy
MoneyTextBox.Value = ''
'Ustaw fokus na NameTextBox
NameTextBox.SetFocus
Kończyć się Pod
Wyjaśnienie: pola tekstowe są opróżniane, pola listy i pola kombi są wypełnione, pola wyboru są odznaczone itp.
Przypisz makra
Stworzyliśmy teraz pierwszą część Userform. Chociaż już wygląda ładnie, nic się jeszcze nie stanie, gdy klikniemy przyciski poleceń na formularzu użytkownika.
1. Otwórz Edytor Visual Basic .
w programie Excel w trybie edycji możesz edytować zawartość komórki bezpośrednio w komórce.
2. W Eksploratorze projektów kliknij dwukrotnie DinnerPlannerUserForm.
3. Kliknij dwukrotnie przycisk Money spin.
4. Dodaj następującą linię kodu:
Prywatny PodMoneySpinButton_Change()MoneyTextBox.Text = MoneySpinButton.Value
Kończyć się Pod
Wyjaśnienie: ta linia kodu aktualizuje pole tekstowe, gdy używasz przycisku wirowania.
5. Kliknij dwukrotnie przycisk OK.
6. Dodaj następujące linie kodu:
Prywatny PodOKButton_Click()Nicpusty wierszJak Długie
'Ustaw arkusz 1 jako aktywny
Arkusz1.Aktywuj
'Określ pusty wiersz
emptyRow = WorksheetFunction.CountA(Range('A:A')) + 1
„Informacje o przekazywaniu”
Cells(emptyRow, 1).Value = NameTextBox.Value
Cells(emptyRow, 2).Value = PhoneTextBox.Value
Cells(emptyRow, 3).Value = CityListBox.Value
Cells(emptyRow, 4).Value = DinnerComboBox.Value
GdybyPole wyboru daty1.Wartość =Prawdziwe NastępnieCells(emptyRow, 5).Value = DateCheckBox1.Caption
GdybyDateCheckBox2.Value =Prawdziwe NastępnieCells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & ' ' & DateCheckBox2.Caption
GdybyDataCheckBox3.Wartość =Prawdziwe NastępnieCells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & ' ' & DateCheckBox3.Caption
GdybyCarOptionButton1. Wartość =Prawdziwe Następnie
Cells(emptyRow, 6).Value = 'Tak'
W przeciwnym razie
Cells(emptyRow, 6).Value = „Nie”
Kończyć się Gdyby
Cells(emptyRow, 7).Value = MoneyTextBox.Value
Kończyć się Pod
Wyjaśnienie: najpierw aktywujemy Sheet1. Następnie określamy emptyRow. Zmienna emptyRow jest pierwszym pustym wierszem i zwiększa się za każdym razem, gdy dodawany jest rekord. Na koniec przenosimy informacje z Userform do określonych kolumn emptyRow.
7. Kliknij dwukrotnie przycisk Wyczyść.
8. Dodaj następującą linię kodu:
Prywatny PodClearButton_Click()PołączenieUserForm_Initialize
Kończyć się Pod
Wyjaśnienie: ta linia kodu wywołuje Sub UserForm_Initialize po kliknięciu przycisku Wyczyść.
9. Kliknij dwukrotnie przycisk Anuluj.
10. Dodaj następującą linię kodu:
Prywatny PodAnulujPrzycisk_Click()Rozładuj mnie
Kończyć się Pod
Wyjaśnienie: ta linia kodu zamyka formularz użytkownika po kliknięciu przycisku Anuluj.
Przetestuj formularz użytkownika
Wyjdź z Edytora Visual Basic, wprowadź etykiety pokazane poniżej w wierszu 1 i przetestuj formularz użytkownika.
Wynik:
Przejdź do następnego rozdziału: