Zapobiegaj zamykaniu formularza użytkownika, gdy użytkownik kliknie przycisk x, używając VBA w programie Microsoft Excel

Anonim

W tym artykule pokażemy, jak wyłączyć przycisk x w formularzu użytkownika za pomocą VBA.

W tym przykładzie stworzyliśmy formularz użytkownika, który można aktywować, klikając przycisk Uruchom w arkuszu.

Ten formularz użytkownika zawiera tylko jeden przycisk, który służy do zamykania formularza użytkownika. Formularz użytkownika można zamknąć tylko poprzez kliknięcie tego przycisku. Nawet naciśnięcie klawisza skrótu Alt+F4 na klawiaturze nie będzie w stanie zamknąć tego formularza użytkownika.

Wyjaśnienie logiczne

Aby wyłączyć przycisk x formularza użytkownika, użyliśmy zdarzenia zamknięcia zapytania w formularzu użytkownika. To zdarzenie jest wywoływane przed zamknięciem formularza użytkownika.

W takim przypadku ustawiliśmy warunek, że jeśli trybem zamykania jest sterowanie menu, to nie zamykaj formularza użytkownika; zamiast tego wyświetl komunikat informacyjny w oknie dialogowym.

Proszę postępować zgodnie z poniższym kodem!

 Option Explicit Sub running() UserForm1.Show End Sub 'Dodaj poniższy kod w formularzu użytkownika Private Sub CommandButton1_Click() 'Zamknij formularz użytkownika Unload Me End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 'Użycie zdarzenia Query Close w Userform ' Porównanie stałej wartości zmiennej CloseMode 'Jeżeli jest równa stałej wbudowanej w menu sterowania' Następnie zapobiegaj zamykaniu formularza użytkownika i 'Wyświetl okno dialogowe komunikatu informacyjnego If CloseMode = vbFormControlMenu Then 'Zmienianie wartości zmiennej Cancel na True 'Domyślnie jest to False Cancel = True MsgBox "Nie możesz zamknąć okna w ten sposób!" Zakończ, jeśli Zakończ Sub 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail