VBA UserForm

Formularz użytkownika Excel VBA

Formularz użytkownika w VBA to niestandardowe formularze zdefiniowane przez użytkownika, które są przeznaczone do pobierania danych wejściowych od użytkownika w formacie formularza, mają różne zestawy elementów sterujących do dodania, takie jak pola tekstowe, etykiety pól wyboru itp., Aby pomóc użytkownikowi wprowadzić wartość i przechowuje wartość w arkuszu, każda część formularza użytkownika zawiera unikalny kod.

Formularz użytkownika to obiekt w interfejsie programu Excel, a wewnątrz tego formularza użytkownika możemy tworzyć inne przydatne niestandardowe okna dialogowe, aby uzyskać dane od użytkownika. Podczas pracy z plikiem makra utworzonym przez seniora lub możliwym do pobrania z Internetu, musiałeś zobaczyć taki formularz użytkownika.

W tym artykule pokażemy, jak utworzyć podobny formularz użytkownika do przechowywania danych od użytkownika.

Jak stworzyć formularz użytkownika?

Podobnie jak w przypadku wstawiania nowego modułu w podobny sposób, musisz kliknąć przycisk WSTAW w Edytorze Visual Basic, aby wstawić formularz użytkownika.

Możesz pobrać ten szablon VBA Userform Excel tutaj - Szablon VBA Userform Excel

Jak tylko to klikniesz, formularz użytkownika również zostanie wstawiony.

Zanim powiem ci, jak to zaprogramować, pokażę ci, jak sformatować ten formularz użytkownika.

Formatowanie formularza użytkownika

Po wybraniu formularza użytkownika naciśnij klawisz F4, wyświetli się okno właściwości.

Korzystając z tego okna właściwości możemy sformatować ten formularz użytkownika, możemy go nazwać, możemy zmienić kolor, styl obramowania itp.

W ten sposób wypróbuj inne właściwości, aby zobaczyć userform.

Teraz w tym formularzu użytkownika wstaw Toolbox.

Teraz zobaczymy taki zestaw narzędzi.

W tym momencie po prostu wstawiany jest formularz użytkownika, a nie zaprogramowany. Aby dowiedzieć się, jak to działa, kliknij przycisk Uruchom, zobaczymy formularz w arkuszu programu Excel.

Teraz używam etykiety rysunkowej ToolBox.

Wpisz tekst jako nazwisko pracownika wewnątrz etykiety.

W przypadku tej etykiety możemy formatować za pomocą właściwości. Teraz wprowadziliśmy tekst jako „Imię pracownika:”, teraz widzimy to w oknie właściwości pod napisami.

Wstaw jeszcze jedną etykietę. Aby wstawić jeszcze jedną etykietę, możesz kliknąć przybornik lub możesz przeciągnąć bieżącą etykietę, przytrzymując klawisz Ctrl , będziesz mieć replikę bieżącej etykiety.

Teraz będziemy mieć tę samą etykietę.

Zmień nazwę na Identyfikator pracownika.

Teraz w podobny sposób wstaw jeszcze jedną etykietę i nazwij ją „Dział”.

Teraz z przybornika wstaw pole tekstowe.

Nazwij to pole tekstowe jako EmpName w oknie właściwości.

W ten sposób wstaw dwa dodatkowe pola tekstowe odpowiednio z pola ID pracownika i działu. Nazwij te pola tekstowe zgodnie z ich nagłówkami.

Podobnie zrób to dla Departamentu.

Teraz z przybornika wstaw Przycisk Polecenia.

Zmień nazwę przycisku polecenia na „SubmitButton” i zmień podpis na „Submit”.

Wstaw jeszcze jeden przycisk i nazwij go „Anuluj”.

Teraz, aby zobaczyć uruchomienie, naciśnij przycisk Uruchom lub użyj klawisza F5 i zobacz, jak wygląda twój formularz użytkownika w programie Excel.

Teraz nabiera kształtu.

Kod VBA

Teraz użytkownik będzie wprowadzał dane w tym, więc musimy to zaprogramować, aby przechowywać dane wprowadzone przez użytkownika w tym formularzu.

Kliknij dwukrotnie przycisk WYŚLIJ, aby przejść do okna makra z automatycznie utworzonym makrem, jak poniżej.

Mówi o kliknięciu przycisku SubmitButton, pamiętaj, że nadaliśmy nazwę przycisku SUBMIT jako SubmitButton.

Tak więc, ilekroć chcemy nazwać ten przycisk, możemy nazwać go tą nazwą (przycisk przesyłania). Wewnątrz tego makra skopiuj i wklej poniższy kod.

Kod:

 Private Sub SubmitButton_Click () Dim LR As Long LR = Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (LR, 1) .Value = EmpName.Value Cells (LR, 2) .Value = EmpID .Value Cells (LR, 3) .Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub 

  • EmpName.Value tutaj EmpName to nazwa pola tekstowego, które podaliśmy podczas tworzenia pola tekstowego z nazwiskiem pracownika.
  • EmpID.Value here EmpID to nazwa pola tekstowego pola tekstowego Employee ID.
  • Wartość działu jest to nazwa pola tekstowego działu.

Tak więc po kliknięciu przycisku Prześlij zapisze wartości we wspomnianych komórkach.

Teraz kliknij dwukrotnie przycisk Anuluj, to również pokaże Ci taką nazwę automatycznego makra.

Skopiuj poniższy kod i wklej.

Kod:

 Private Sub CancelButton_Click () MyUserForm.Hide End Sub 

MyUserForm to nazwa, którą nadaliśmy formularzowi użytkownika . MyUserForm.Hide oznacza, że ​​po kliknięciu przycisku ANULUJ ukryje formularz użytkownika.

Ok, teraz utwórz taki szablon w arkuszu.

Usuń wszystkie inne arkusze ze skoroszytu oprócz tego arkusza szablonu.

Teraz przejdź do Edytora Visual Basic.

I uruchom makro za pomocą klawisza F5 lub ręcznie, zobaczymy przed sobą formularz użytkownika.

Wprowadź imię i nazwisko pracownika, identyfikator pracownika i nazwę działu.

Teraz, jeśli klikniesz przycisk WYŚLIJ, zapisze wartości w utworzonym przez nas szablonie.

Like this you can keep entering the names, userform will keep storing the values entered by the user in the specified cells.

So by using USER FORM, we can actually create wonderful projects to get the information from the user.