Voorkom dat een gebruikersformulier wordt gesloten wanneer de gebruiker op de x-knop klikt door VBA te gebruiken in Microsoft Excel

Anonim

In dit artikel laten we zien hoe je de x-knop op het gebruikersformulier kunt uitschakelen met behulp van VBA.

In dit voorbeeld hebben we een gebruikersformulier gemaakt dat kan worden geactiveerd door op de knop Uitvoeren op het werkblad te klikken.

Dit gebruikersformulier bevat slechts één knop die wordt gebruikt voor het sluiten van het gebruikersformulier. Het gebruikersformulier kan alleen worden gesloten door op deze knop te klikken. Zelfs als u op de sneltoets Alt+F4 op het toetsenbord drukt, kan dit gebruikersformulier niet worden gesloten.

Logische uitleg

Voor het uitschakelen van de x-knop van het userform hebben we de query close event van het userform gebruikt. Deze gebeurtenis wordt geactiveerd voordat het gebruikersformulier wordt gesloten.

In dit geval hebben we de voorwaarde gesteld dat als de afsluitmodus menubesturing is, het gebruikersformulier niet moet worden gesloten; in plaats daarvan een informatiebericht weergeven in het dialoogvenster.

Volg hieronder voor de code:

 Optie Explicit Sub running() UserForm1.Show End Sub 'Voeg onderstaande code toe in gebruikersformulier Private Sub CommandButton1_Click() 'Sluit het gebruikersformulier Unload Me End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 'Using Query Close event of Userform ' De constante waarde van de variabele CloseMode vergelijken 'Als deze gelijk is aan de ingebouwde constante van het controlemenu 'Verhinder dan het sluiten van het gebruikersformulier en het dialoogvenster 'Informatiebericht weergeven' If CloseMode = vbFormControlMenu Dan 'Veranderen van de waarde van de variabele annuleren in True' Standaard is dit False Annuleren = True MsgBox "Je kunt het dialoogvenster niet op deze manier sluiten!" Einde Als Einde Sub 

Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.

We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite