VBA Luk UserForm | Top 2 metoder til at lukke brugerform med eksempler

Når vi laver en brugerform, tager det data som input fra brugere, men dataene leveres til formularen lukker ikke sig selv, så det kan vildlede brugeren til at indtaste data igen, vi bruger to forskellige kommandoer til at lukke en brugerform, når input har er givet, og de er Unload me-metoden for at lukke en brugerformular eller vi kan bruge metoden userform.hide.

Excel VBA Luk brugerform

Brugerformularer er vigtige, når du får input fra brugeren som en del af VBA-projektet. Vi designer normalt brugerformularen, før vi præsenterer den foran brugeren. Når designet af VBA-brugerformularen er afsluttet, skal vi vise det samme foran brugeren og kræve VBA-kodning. Tilsvarende for at lukke brugerformen kræver det VBA-kodende viden.

I denne artikel viser vi dig, hvordan du lukker brugerformularen i VBA-kodning.

Sådan lukkes UserForm i Excel VBA?

Når formålet med brugerformularen er udført, er det et punkt at fortsætte med at vise brugerformularen foran brugeren, så vi er nødt til at lukke brugerformularen. Vi kan lukke brugerformularen ved hjælp af udsagnet "Unload Me" og "UserForm.Hide". Selvom begge er lidt forskellige fra hinanden, vil det til sidst tjene vores formål.

Du kan downloade denne VBA Close UserForm Excel-skabelon her - VBA Close UserForm Excel-skabelon

# 1 - Luk brugerformular ved hjælp af "Unload Me" -erklæringen i VBA

Se f.eks. Nedenstående billede af brugerformularen.

Jeg har navngivet brugerformularen som “MyUserForm”.

Hvis jeg kører brugerformularen, ser vi brugerformularen som nedenfor.

Jeg har brug for at udfylde de krævede detaljer, når først de oplysninger, der er udfyldt, hvis jeg klikker på knappen Send, vil de samle de samme data til regnearket, som er synlig i venstre side.

Når du klikker på knappen Send, har den fanget de data, som jeg har indtastet i brugerformularen.

Hvis du bemærker, har vi endnu en knap kaldet ”Annuller”. Hvad gør dette?

Før vi viser brugerformularen, skal vi konfigurere denne knap. Nu vil jeg gå tilbage visuel grundlæggende editor til at konfigurere denne knap.

Nu vil jeg dobbeltklikke på knappen Annuller, og den åbner den automatiske VBA-delprocedure som nedenfor.

I denne procedure skal vi skrive VBA-koden om, hvad der skal ske, hvis vi klikker på knappen Annuller. Når vi klikker på denne annulleringsknap, skal den lukke den brugerformular, vi arbejder på i øjeblikket.

Så skriv koden som "Unload Me".

Kode:

 Privat Sub AnnullerButton_Click () Fjern mig Afslut Sub 

"Unload Me" er det ord, vi bruger til at lukke den brugerform, vi arbejder på. Her genkender brugerformularen ordet “Mig” som selve UserForm.

“Unload Me” kan kun bruges på den brugerformularprocedure, vi kan ikke kalde denne erklæring i andre moduler. Hvis det kaldes, vises fejlmeddelelsen som " Ugyldig brug af mig-nøgleord ".

Ok, lad os køre koden ved hjælp af F5-nøglen eller manuelt nu, vi ser tom brugerformular.

Udfyld dataene, og klik på Send.

Når sendeknappen har klikket, gemmes værdierne i de nævnte celler.

Hvis dataindtastningen er færdig, skal vi lukke brugerformularen, ikke sandt?

Så klik på knappen Annuller for at lukke brugerformularen, den lukker brugerformularen.

# 2 - Luk UserForm ved hjælp af Hide Method i Excel VBA

Vi kan også lukke brugerformularen ved hjælp af "Skjul" -metoden også i VBA. Nu skal jeg igen dobbeltklikke på knappen Annuller for at se den private delprocedure.

Da vi allerede har skrevet koden for at lukke brugerformularen, kan vi se den eksisterende kode i VBA. Nu vil jeg slette dette.

For at bruge Hide-metoden skal vi kalde brugerformularen med dens navn. I dette tilfælde er vores brugerformularnavn "MyUserForm".

Efter at have nævnt brugerformularen ved navn, hvis vi sætter en prik (.), Kan vi se alle egenskaberne og metoderne i denne brugerformular. Nu vil jeg vælge "Skjul" -metoden.

Ok, lad os køre brugerformularen en gang til. Vi ser tom brugerformular, udfyld detaljerne først.

Nu uden et klik på knappen Send, vil jeg klikke på knappen Annuller, det skjuler brugerformularen.

Forskellen mellem losning og skjul i Excel VBA

Du skal have et spørgsmål, hvad er forskellen mellem Unload & Hide, hvor begge tjener et lignende formål. Der er en forskel mellem disse to. Nu skal jeg først bruge Unload Me-erklæringen. Se på billedet nedenfor.

Jeg har indtastet dataene i brugerformularen, men har endnu ikke sendt dem. Hvis jeg klikker på Annuller, aflæses brugerformularen.

Nu igen kører jeg koden gennem excel genvejstast F5 eller manuelt, den viser blank brugerform.

Selvom jeg ved en fejl har indtastet dataene korrekt, har jeg klikket på knappen Annuller, når den nye brugerformular vises igen, har jeg udfyldt dataene fra bunden.

Nu vil jeg bruge metoden "Skjul".

Nej, jeg klikker på knappen Annuller, den skjuler den synlige brugerform. Men når jeg kører makroen igen, kommer den tilbage med de data, som jeg allerede har indtastet i brugerformularen.

Dette er, hvordan vi kan bruge "Unload" -erklæringen & "Skjul" -metoden til at lukke brugerformularerne i Excel VBA.