VBA Zamknij UserForm - 2 najlepsze metody zamykania formularza użytkownika z przykładami

Kiedy tworzymy formularz użytkownika, pobiera dane jako dane wejściowe od użytkowników, ale dane są dostarczane do formularza nie zamykają się, więc może wprowadzić użytkownika w błąd, aby ponownie wprowadzić dane, używamy dwóch różnych poleceń, aby zamknąć formularz użytkownika, gdy dane wejściowe mają zostały podane i są one metodą Unload me do zamknięcia formularza użytkownika lub możemy użyć metody userform.hide.

Excel VBA Zamknij formularz użytkownika

Formularze użytkownika są niezbędne podczas uzyskiwania danych wejściowych od użytkownika w ramach projektu VBA. Zwykle projektujemy formularz użytkownika, zanim przedstawimy go użytkownikowi. Po zakończeniu projektowania formularza użytkownika VBA musimy pokazać to samo przed użytkownikiem i wymagać kodowania VBA. Podobnie, aby zamknąć formularz użytkownika, wymagana jest znajomość kodowania VBA.

W tym artykule pokażemy, jak zamknąć formularz użytkownika w kodowaniu VBA.

Jak zamknąć UserForm w Excel VBA?

Gdy cel formularza użytkownika zostanie ukończony, konieczne jest dalsze wyświetlanie formularza użytkownika przed użytkownikiem, więc musimy zamknąć formularz użytkownika. Możemy zamknąć formularz użytkownika za pomocą instrukcji „Unload Me” i „UserForm.Hide”. Mimo że oba nieznacznie się od siebie różnią, w końcu posłużą naszemu celowi.

# 1 - Zamknij formularz użytkownika za pomocą instrukcji „Unload Me” w języku VBA

Na przykład spójrz na poniższy obraz formularza użytkownika.

Nazwałem formularz użytkownika jako „MyUserForm”.

Jeśli uruchomię formularz użytkownika, zobaczymy formularz użytkownika jak poniżej.

Muszę podać wymagane dane. Po wypełnieniu informacji, jeśli kliknę przycisk Prześlij, przechwycą te same dane do arkusza roboczego, który jest widoczny po lewej stronie.

Po kliknięciu przycisku przesyłania przechwycił dane, które wprowadziłem w formularzu użytkownika.

Jeśli zauważysz, mamy jeszcze jeden przycisk o nazwie „Anuluj”. Co to robi?

Zanim wyświetlimy formularz użytkownika, musimy skonfigurować ten przycisk. Teraz wrócę do podstawowego edytora wizualnego, aby skonfigurować ten przycisk.

Teraz dwukrotnie kliknę przycisk Anuluj, co spowoduje otwarcie automatycznej podprocedury VBA, jak poniżej.

W tej procedurze musimy napisać kod VBA o tym, co powinno się stać, jeśli klikniemy przycisk Anuluj. Kliknięcie tego przycisku anulowania powinno zamknąć formularz użytkownika, nad którym obecnie pracujemy.

Więc napisz kod jako „Wyładuj mnie”.

Kod:

Private Sub CancelButton_Click () Unload Me End Sub

„Wyładuj mnie” to słowo, którego używamy do zamknięcia formularza użytkownika, nad którym pracujemy. Tutaj formularz użytkownika rozpoznaje słowo „Ja” jako sam formularz użytkownika.

„Wyładuj mnie” może być używane tylko w tej procedurze formularza użytkownika. Nie możemy nazwać tego stwierdzenia w innych modułach. Po wywołaniu wyświetli komunikat o błędzie jako „ Nieprawidłowe użycie słowa kluczowego mnie”.

Ok, uruchommy kod za pomocą klawisza F5 lub teraz ręcznie, zobaczymy pusty formularz użytkownika.

Wypełnij dane i kliknij Prześlij.

Po kliknięciu przycisku przesyłania zapisze wartości we wspomnianych komórkach.

Jeśli wprowadzanie danych jest zakończone, musimy zamknąć formularz użytkownika. Czy to nie jest ??

Więc kliknij przycisk Anuluj, aby zamknąć formularz użytkownika, spowoduje to zamknięcie formularza użytkownika.

# 2 - Zamknij formularz użytkownika za pomocą metody ukrywania w Excel VBA

Możemy również zamknąć Userform metodą „Hide” również w VBA. Teraz jeszcze raz dwukrotnie kliknę przycisk anulowania, aby zobaczyć prywatną podprocedurę.

Ponieważ napisaliśmy już kod zamykający formularz użytkownika, możemy zobaczyć istniejący kod w VBA. Teraz to usunę.

Aby użyć metody Hide, musimy wywołać formularz użytkownika za pomocą jego nazwy. W tym przypadku nazwa naszego formularza użytkownika to „MyUserForm”.

Po podaniu nazwy formularza użytkownika, jeśli wstawimy kropkę (.), Zobaczymy wszystkie właściwości i metody tego formularza użytkownika. Teraz wybiorę metodę „Ukryj”.

Ok, uruchommy formularz użytkownika jeszcze raz. Zobaczymy pusty formularz użytkownika, najpierw wypełnij dane.

Teraz bez kliknięcia przycisku Prześlij, kliknę przycisk Anuluj, ukryje to formularz użytkownika.

Różnica między wyładowaniem i ukrywaniem w Excel VBA

Musisz mieć pytanie, jaka jest różnica między Unload & Hide, gdzie oba służą podobnemu celowi. Istnieje różnica między tymi dwoma. Teraz najpierw użyję instrukcji Unload Me. Spójrz na poniższy obrazek.

Podałem dane w formularzu użytkownika, ale jeszcze ich nie przesłałem. Jeśli kliknę Anuluj, spowoduje to wyładowanie formularza użytkownika.

Teraz ponownie uruchomię kod za pomocą klawisza skrótu programu Excel F5 lub ręcznie, wyświetli się pusty formularz użytkownika.

Mimo że przez pomyłkę poprawnie wpisałem dane, to kliknąłem na przycisk anulowania, gdy ponownie pojawi się formularz nowego użytkownika, wypełniłem dane od nowa.

Teraz użyję metody „Hide”.

Nie, kliknę przycisk anulowania. Ukryje widoczny formularz użytkownika. Ale kiedy ponownie uruchomię makro, wróci z danymi, które już wprowadziłem w formularzu użytkownika.

W ten sposób możemy użyć instrukcji „Unload” i metody „Hide”, aby zamknąć formularz użytkownika w Excel VBA.

Interesujące artykuły...