Excel VBA Zamknij formularz użytkownika

Wcześniej omawialiśmy, jak utworzyć UserForm w VBA. Teraz, aby uzyskać dane wejściowe od użytkownika, znajdował się przycisk do przesłania, który przechowywał następnie wartość podaną przez użytkownika w arkuszu programu Excel. Ale co po podaniu wartości formularz nadal tam jest. A co, jeśli użytkownik nie chce podać żadnych danych i zamknąć formularza użytkownika. Nie dyskutowaliśmy o tym, jak zamkniemy formularz użytkownika dla użytkownika. Podobnie jak przycisk przesyłania danych w celu przesłania danych, mieliśmy inny przycisk anulowania, który służy do ukrywania formularza użytkownika. Przycisk anulowania ma również własny kod, aby ukryć formularz użytkownika przed użytkownikiem. Teraz są dwie metody, za pomocą których możemy ukryć formularz użytkownika. Są to:

  1. Pierwszą metodą jest użycie metody Unload Me. Ta metoda zwalnia UserForm i znika z wyświetlacza.
  2. Inną metodą jest użycie metody Useform.Hide. Ta metoda ukrywa UserForm przed wyświetlaniem.

Zaleca się użycie drugiej metody do zamknięcia UserForm, ponieważ pierwsza metoda całkowicie zwolni UserForm, a wszelkie dane wprowadzone przez użytkownika zostaną całkowicie utracone. Ale kiedy używamy drugiej metody ukrywania UserForm, wtedy ostatni wpis wykonany w formularzu użytkownika przez użytkownika jest nadal obecny.

Jak zamknąć UserForm w Excel VBA?

Dowiemy się, jak zamknąć UserForm w Excel VBA z jego różnicą i na kilku przykładach, ale najpierw nauczmy się metody zamykania formularza użytkownika w VBA.

Istnieją dwie metody zamykania formularza użytkownika w VBA:

  1. Zwolnij mnie
  2. Ukryć
Możesz pobrać ten szablon Excel VBA Close UserForm tutaj - Szablon Excel VBA Close UserForm

Excel VBA Close UserForm - Przykład nr 1

Najpierw wypróbujmy metodę zamykania UserForm za pomocą opcji Unload Me. W poprzednim artykule mieliśmy formularz użytkownika, który wygląda jak ten poniżej.

Dla przycisku Prześlij mieliśmy nasz kod, który przechowywał dane wprowadzone przez użytkownika w programie Excel. Teraz kliknij dwukrotnie przycisk Anuluj, który otworzy kod dla tego samego, co następuje:

Kod:

 Private Sub CommandButton2_Click () End Sub 

Przycisk Anuluj był drugim przyciskiem polecenia, który przekazaliśmy do formularza użytkownika. Teraz napisz instrukcję kodową jako Rozładuj mnie w sekcji, jak pokazano na obrazku poniżej.

Kod:

 Private Sub CommandButton2_Click () Unload Me End Sub 

Widzimy, że Me jest instrukcją Object Unload. Teraz uruchommy formularz użytkownika, naciskając klawisz F5, aby go wyświetlić.

Naciśnij przycisk Anuluj, aby zobaczyć, że formularz użytkownika znika i przenosi nas z powrotem do pierwotnego formularza użytkownika w oknie projektu.

Excel VBA Close UserForm - Przykład nr 2

Teraz wypróbujmy drugą metodę, która userform.hide metoda w podobny sposób jak powyżej, najpierw otwórzmy formularz użytkownika z formularza użytkownika w oknie projektu.

Teraz kliknij dwukrotnie przycisk Anuluj, który otworzy kod widoku dla przycisku polecenia Anuluj.

Mamy już instrukcję Unload Me w przycisku anulowania polecenia, wyczyść kod i zastąp go instrukcją Userform.Hide .

Kod:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Teraz ponownie uruchommy formularz użytkownika, naciskając klawisz F5 i wyświetlamy go na ekranie.

Po naciśnięciu przycisku Anuluj ponownie jesteśmy przenoszeni do okna projektu formularza użytkownika. Teraz wszyscy możemy się zastanawiać, jaka jest różnica między tymi dwiema metodami, ponieważ obie metody doskonale zamykają dla nas formularz użytkownika, dlaczego więc druga metoda jest najbardziej zalecaną metodą obu metod. Dowiemy się dokładnie, dlaczego w następnych dwóch przykładach.

Excel VBA Close UserForm - Przykład nr 3

Przejdźmy teraz do pierwszej metody Unload Me dla przycisku Anuluj i podaj pewne dane do formularza użytkownika. Kliknij dwukrotnie przycisk anulowania w formularzu użytkownika, aby otworzyć kod widoku dla przycisku polecenia i zastąp kod instrukcją Unload Me w następujący sposób.

Kod:

 Private Sub CommandButton2_Click () Unload Me End Sub 

Teraz uruchom ponownie formularz użytkownika, naciskając klawisz F5 i wyświetl go na ekranie.

Pozwól nam podać pewne dane do formularza użytkownika w następujący sposób, teraz nie naciskaj przycisku wysyłania, naciśnij przycisk Anuluj.

Ponownie uruchom formularz użytkownika, naciskając klawisz F5.

Teraz widzimy, że straciliśmy dane, które dostarczyliśmy do formularza użytkownika, ponieważ go nie przesłaliśmy, nie zostały one zapisane w arkuszu i zamknęliśmy formularz użytkownika za pomocą instrukcji Unload Me, która usunęła dane, które już zostały wypełnione.

Excel VBA Close UserForm - Przykład nr 4

Teraz wykonajmy to samo ćwiczenie, ale używając instrukcji Userform.Hide,

W przycisku polecenia anuluj zamień kod za pomocą metody userform.hide, jak pokazano poniżej.

Kod:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Teraz ponownie uruchomimy formularz użytkownika, naciskając klawisz F5 i podając mu niektóre dane w następujący sposób.

Teraz wciśnij przycisk Anuluj i ponownie uruchom formularz użytkownika, który da nam następujący wynik.

Dane nawet nie zostaną utracone, gdy naciśniemy przycisk Anuluj, jeśli naciśniemy Prześlij, zapisze dane w programie Excel w następujący sposób.

Teraz dane są przechowywane, formularz użytkownika jest teraz pusty i możemy go zamknąć za pomocą przycisku Anuluj,

Rzeczy do zapamiętania

  • Po wprowadzeniu danych przez użytkownika musimy zamknąć formularz użytkownika, aby był on równie ważny jak przycisk Prześlij.
  • Zamknij formularz użytkownika znajduje się w przycisku polecenia formularza użytkownika w języku VBA. Zasadniczo nazywa się go Anuluj lub Zamknij.
  • Istnieją dwie osobne metody zamykania formularza użytkownika, ale ostatecznie służą one temu samemu celowi.
  • Metoda Userform.Hide jest najbardziej zalecana, ponieważ nawet jeśli formularz użytkownika zostanie zamknięty przez użytkownika przed wprowadzeniem danych, dane nie zostaną utracone, a wpis dokonany przez użytkownika zostanie ponownie wyświetlony, gdy użytkownik otworzy formularz użytkownika.

Polecane artykuły

Jest to przewodnik po VBA Close UserForm. Tutaj omawiamy sposób zamykania UserForm w Excelu za pomocą instrukcji Unload Me i metody Userform.Hide w VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Jak aktywować arkusz w VBA?
  2. Oceń formułę w programie Excel
  3. Kompletny przewodnik po polu listy VBA
  4. Formuła HYPERLINK w programie Excel

Kategoria: