W tym artykule zademonstrujemy, jak używać kontrolek w UserForms w Excel VBA.
VBA ma możliwość tworzenia formularzy, z którymi użytkownik może wchodzić w interakcje, takich jak formularze faktur lub dane kontaktowe. Formularz może zawierać różne kontrolki formularza, takie jak pola tekstowe, pola kombi, pola listy i przyciski poleceń. W tym artykule omówimy najpopularniejsze kontrolki używane w formularzach użytkownika, a mianowicie pola tekstowe, etykiety, pola kombi, pola listy, pola wyboru i grupy opcji.
Aby dowiedzieć się więcej o wbudowanych formularzach użytkownika i tworzeniu niestandardowych formularzy użytkownika w programie Excel, kliknij tutaj.
Tworzenie formularza użytkownika
Aby utworzyć UserForm w Excel VBA, najpierw musimy otworzyć Edytor VBE.
Aby wstawić nowy formularz użytkownika do kodu, wybierz Formularz użytkownika opcja z menu Wstaw.
Nowy formularz użytkownika pojawi się w Eksplorator projektów i zostanie pokazany w Oknie Kodu po prawej stronie.
Możesz zmienić nazwę formularza za pomocą Nieruchomości skrzynka. Powinien pojawić się pod twoim Eksplorator projektów.
Jeśli jest widoczny, naciśnij F4 lub kliknij Pogląd, Okno właściwości.
Kliknij w Nazwa właściwość i zmień nazwę formularza.
Możemy teraz rozpocząć wypełnianie naszego formularza kontrolkami - kontrolka pola tekstowego jest najpopularniejszą kontrolką wraz z kontrolką etykiety i przyciskiem polecenia.
Aby wypełnić formularz kontrolkami, musimy włączyć Przybornik.
w Menu, Wybierz Widok > Przybornik.
Tworzenie pola tekstowego
Aby utworzyć pole tekstowe w formularzu, wybierz kontrolkę Pole tekstowe w przyborniku.
Przeciągnij myszą kształt pola na formularzu, przytrzymując lewy przycisk, a następnie zwolnij przycisk myszy.
Ponieważ jest to pierwsze tworzone przez nas pole tekstowe, zostanie ono nazwane TextBox1. Podobnie jak w przypadku formularza, możesz użyć okna Właściwości, aby zmienić nazwę pola tekstowego.
Możemy nadal tworzyć tyle pól tekstowych w naszym formularzu, ile potrzebujemy, i odpowiednio je nazywać, używając właściwości Nazwa w oknie Właściwości.
Tworzenie kontrolki etykiety
Kontrolka etykiety informuje nas, co będzie używane w polu tekstowym. Przeciągasz formularz w taki sam sposób, jak w przypadku pola tekstowego, a następnie możesz wpisać żądany tekst w kontrolce etykiety, np.: Imię, jak pokazano poniżej.
Podobnie jak w przypadku pól tekstowych, kontynuuj tworzenie tylu, ile jest wymaganych w formularzu.
Tworzenie kontrolki pola kombi
Pole kombi (lub pole rozwijane) pozwala użytkownikowi wybrać z listy wartości. Aby utworzyć pole kombi, kliknij przybornik w kontrolce Pole kombi, a następnie kliknij i przeciągnij pole kombi w formularzu.
Nazwij odpowiednio pole kombi.
Dodawanie wartości do Combo Box
Aby wypełnić go wartościami, musimy zakodować w Zainicjuj metoda obiektu formularza Użytkownika.
Aby przejść do kodu za formularzem (CBF), kliknij dwukrotnie formularz lub kliknij przycisk kodu w Eksploratorze projektów, aby przełączyć się do widoku kodu.
Z listy rozwijanej po lewej stronie wybierz Formularz użytkownika, a następnie z listy rozwijanej po prawej stronie wybierz Inicjalizuj.
Wpisz następujący kod w polach Sub i End Sub, aby wypełnić rozwijane pole:
1234 | Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Alaska"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkansas" |
Możemy oczywiście uzupełnić listę o pozostałe stany w USA!
Aby uruchomić formularz użytkownika i zobaczyć listę w akcji, 1) przełącz się z powrotem do widoku formularza, a następnie 2) na pasku narzędzi kliknij przycisk Biegać przycisk.
Kliknij strzałkę w dół, aby zobaczyć listę.
Możemy również użyć zakresu w Excelu, aby wypełnić pole kombi.
123456 | Prywatna Sub UserForm_Initialize()Dim rng As RangeDla każdego dzwonka w zakresie ("A1:A50")Me.cboState.AddItem rng.ValueNastępny numerNapis końcowy |
Spowoduje to pobranie wszelkich wartości zapisanych w zakresie od A1 do A50 i odpowiednie wypełnienie listy rozwijanej.
Tworzenie kontrolki pola listy
Kontrolka List Box działa w taki sam sposób jak kontrolka Combo Box, ale pozwala nam zobaczyć wszystkie opcje w formularzu w formacie listy.
Wybierz kontrolkę Pole listy w przyborniku, a następnie przeciągnij, aby utworzyć pole listy w formularzu.
Masz dość wyszukiwania przykładów kodu VBA? Wypróbuj Automakro!
Dodawanie wartości do listy wartości
W zdarzeniu Initialize formularza wpisz następujący kod:
123456 | Prywatna Sub UserForm_Initialize()Dim rng As RangeDla każdego dzwonka w zakresie ("A1:A50")Me.lstState.AddItem rng.ValueNastępny numerNapis końcowy |
Po uruchomieniu formularza zostanie wyświetlone pole listy, jak pokazano na poniższym obrazku:
Tworzenie kontrolki pola wyboru
Pola wyboru umożliwiają użytkownikowi zaznaczenie lub odznaczenie opcji.
Wybierz kontrolkę Check Box, a następnie kliknij formularz, w którym chcesz go przenieść.
Zmień podpis i nazwę pola wyboru w oknie Właściwości.
Tworzenie kontrolki grupy opcji za pomocą przycisków opcji
Grupa opcji pozwala użytkownikowi wybrać jedną z wielu dostępnych opcji. Pierwszym krokiem w tworzeniu grupy opcji jest dodanie kontrolki ramki do formularza, a następnie dodanie przycisków opcji w dodanej ramce. W ten sposób zapewniamy, że po uruchomieniu formularza tylko jeden z przycisków opcji w ramce może być zaznaczony naraz.
Wybierz kontrolkę Ramka w przyborniku, a następnie przeciągnij, aby utworzyć ramkę w formularzu.
Wybierz kontrolkę Przycisk opcji w przyborniku, a następnie kliknij W RAMACH utworzonej powyżej, aby dodać przycisk opcji do ramki. Powtórz w razie potrzeby.
Kliknij ramkę i 1) zmień nazwę ramki i podpis. Następnie 2) kliknij każdy z przycisków opcji i zmień podpis.
Tworzenie przycisku polecenia do wyjścia z formularza
Na tym etapie jedynym sposobem zamknięcia formularza jest użycie przycisku zamykania w prawym rogu paska kontrolnego formularza. Wydajniejszym sposobem wyjścia z formularza, nad którym mamy większą kontrolę, jest utworzenie przycisku Zakończ na formularzu. Odbywa się to za pomocą kontrolki przycisku poleceń w przyborniku.
Wybierz kontrolkę Przycisk polecenia, a następnie kliknij i przeciągnij w formularzu, aby utworzyć przycisk.
Korzystając z właściwości podpisu, zmień podpis przycisku polecenia na OK, a akcelerator na „O”
Akcelerator ma na celu umożliwienie użytkownikowi aktywowania przycisku za pomocą klawiatury, w tym przypadku Alt+O aktywowałby przycisk.
Świetny produkt. AutoMakro nie tylko pisze Twój kod, ale uczy, jak Ty!” – Tony, Wielka Brytania
Ucz się więcejPrzeczytaj nasze ponad 900 recenzji
Dodawanie kodu do przycisku poleceń
Aby przycisk polecenia działał, musimy dodać za nim kod, aby po kliknięciu przycisku kod został uruchomiony. Nazywa się to zdarzeniem Click przycisku.
Aby przejść do zdarzenia kliknięcia, kliknij dwukrotnie przycisk w widoku projektu formularza.
1) Zdarzenie Click zostanie utworzone automatycznie, ponieważ jest to zdarzenie najczęściej używane w przypadku przycisków poleceń.
2) Gdybyśmy kliknęli w polu rozwijanym Procedura po prawej stronie, zobaczylibyśmy listę wszystkich metod zdarzeń, które są dostępne dla przycisku poleceń. Ta lista zmienia się w zależności od utworzonego przez nas typu kontroli, ponieważ dla różnych typów kontrolek dostępne są różne zdarzenia.
Wpisz następujący kod w zdarzeniu kliknięcia przycisku polecenia.
123456789101112131415 | Prywatna sub cmdOK_Click()Zakres("E1") = Me.txtImięZakres ("E2") = Ja.txtNazwiskoZakres("E3") = Me.txtCellPhoneZakres("E4") = Me.cboStateJeśli Me.ckContactInfo = Prawda, wtedyZakres("E5") = "SMS-y dozwolone"W przeciwnym razieZakres("E5") = "SMS niedozwolony"Zakończ, jeśliJeśli Me.opt1.Value = True, to zakres("E6") = Me.opt1.CaptionJeśli Me.opt2.Value = True, to zakres("E6") = Me.opt2.CaptionJeśli Me.opt3.Value = True, to zakres("E6") = Me.opt3.CaptionRozładuj mnieNapis końcowy |
Możemy wtedy uruchomić formularz, wypełnić pola tekstowe i wybrać z rozwijanej listy. Następnie klikamy OK, aby wprowadzić informacje do programu Excel.