Excel VBA Luk UserForm

Tidligere havde vi drøftet, hvordan man opretter en UserForm i VBA. For at få input fra brugeren var der en knap til indsendelse, der lagrede derefter den værdi, som brugeren har givet i et excelark. Men hvad der efter at have givet værdien formen stadig er der. Eller hvad hvis brugeren ikke ønsker at give nogen data og lukke brugerformularen. Vi havde ikke drøftet, hvordan vi lukker brugerformularen for brugeren. Ligner knappen Send til at indsende de data, vi havde en anden knap, der var til annullering, der bruges til at skjule brugerformularen. Afbryderknappen har også sin egen kode til at skjule brugerformularen for brugeren. Nu er der to metoder, som vi kan skjule en brugerform. De er som følger:

  1. Den første metode er, når vi bruger Unload Me-metoden. Denne metode tømmer UserForm, og den forsvinder fra displayet.
  2. En anden metode er, når vi bruger Useform.Hide-metoden. Denne metode skjuler UserForm fra skærmen.

Det anbefales at bruge den anden metode til at lukke UserForm, da den første metode helt vil fjerne UserForm, og alle data, der indtastes af brugeren, vil gå helt tabt. Men når vi bruger den anden metode til at skjule UserForm, er den sidste post, der er gjort på brugerformularen af ​​brugeren, stadig til stede.

Sådan lukkes UserForm i Excel VBA?

Vi lærer, hvordan man lukker UserForm i Excel VBA med dens forskel og ved et par eksempler, men lad os først lære metoden til at lukke en brugerform i VBA.

Der er to metoder til at lukke brugerform i VBA:

  1. Fjern mig
  2. Skjule
Du kan downloade denne VBA Luk UserForm Excel-skabelon her - VBA Close UserForm Excel Template

Excel VBA Luk UserForm - Eksempel # 1

Lad os først prøve metoden til at lukke en UserForm ved hjælp af indstillingen Unload Me. Vi havde en brugerformular i vores tidligere artikel, der ligner den nedenfor.

For indsendelsesknappen havde vi vores kode, som lagrede de data, som brugeren indtastede i Excel. Dobbeltklik nu på annulleringsknappen, der åbner koden for det samme som følger,

Kode:

 Privat underkommandoButton2_Klik () Slut sub 

Knappen Annuller var den anden kommandoknap, vi leverede til brugerformularen. Skriv nu kodeerklæringen som Fjern mig i sektionen som vist på billedet herunder.

Kode:

 Privat underkommandoButton2_Klik () Unload Me End Sub 

Vi kan se, at Mig er et objekt med losning-erklæring. Lad os nu køre brugerformen ved at trykke på F5-tasten for at få vist den.

Tryk på knappen Annuller for at se, at brugerformularen forsvinder, og den bringer os tilbage til den originale brugerformular i projektvinduet.

Excel VBA Luk UserForm - Eksempel # 2

Lad os nu prøve den anden metode, som userform.hide-metoden er på lignende måde som ovenfor, lad os først åbne brugerformularen fra brugerformularen i projektvinduet.

Dobbeltklik nu på afbryderknappen, der åbner visningskoden for afbryderkommandoknappen.

Vi har allerede Unload Me-erklæring til stede i afbryderkommandoknappen, ryd koden og udskift den med Userform.Hide- erklæringen.

Kode:

 Privat underkommandoButton2_Klik () UserForm1.Hide End Sub 

Lad os nu igen køre brugerformen ved at trykke på F5-tasten og vise den på skærmen.

Når vi trykker på annulleringsknappen, flyttes vi igen til projektvinduet i brugerformularen. Nu undrer vi os alle over, hvad der er forskellen mellem de to metoder, da begge metoder lukker brugerformen perfekt for os, hvorfor er den anden metode mest anbefalet metode til begge. Vi vil finde ud af nøjagtigt hvorfor i de næste to eksempler.

Excel VBA Luk UserForm - Eksempel # 3

Lad os nu gå til den første metode Unload Me-erklæring for annulleringsknappen og give nogle data til brugerformularen. Dobbeltklik på annulleringsknappen fra brugerformularen for at åbne visningskoden for kommandoknappen og erstatte koden med Unload Me- sætningen som følger.

Kode:

 Privat underkommandoButton2_Klik () Unload Me End Sub 

Kør nu brugerformen igen ved at trykke på F5-tasten og få den til at vises på skærmen.

Lad os give nogle data til brugerformularen som følger, tryk nu ikke på knappen Send, tryk på knappen Annuller.

Kør igen brugerformularen ved at trykke på F5-tasten.

Nu kan vi se, at vi har mistet de data, vi har leveret til brugerformularen, da vi ikke indsendte dem, de blev ikke gemt i regnearket, og vi lukkede brugerformularen ved hjælp af Unload Me-erklæringen, som fjernede de allerede udfyldte data.

Excel VBA Luk UserForm - Eksempel # 4

Lad os nu udføre den samme øvelse, men ved at bruge Userform.Hide-erklæring,

Udskift koden for den ved at annullere kommandoknappen vha. Metoden userform.hide som vist nedenfor.

Kode:

 Privat underkommandoButton2_Klik () UserForm1.Hide End Sub 

Nu kører vi igen brugerformen ved at trykke på F5-tasten og give den nogle data som følger.

Lad os nu trykke på annulleringsknappen og igen køre brugerformularen, som giver os følgende resultat.

Dataene går ikke engang tabt, da vi trykede på annulleringsknappen, hvis vi trykker på indsende, de vil gemme dataene i excel som følger.

Nu er dataene gemt, brugerformularen er tom nu, og vi kan lukke brugerformularen ved hjælp af afbryderknappen,

Ting at huske

  • Når dataindtastningen er udført af brugeren, er vi nødt til at lukke brugerformularen, så den er lige så vigtig som knappen Send.
  • Luk brugerformular er i kommandoknappen til brugerformularen i VBA, generelt kaldes den som Annuller eller Luk.
  • Der er to separate metoder til at lukke en brugerform, men de tjener til sidst det samme formål som hinanden.
  • Userform.Hide-metoden anbefales mest, da selv om brugerformularen lukkes af brugeren inden dataindtastningen, går dataene ikke tabt, og indtastningen foretaget af brugeren vises igen, når en bruger åbner brugerformularen.

Anbefalede artikler

Dette er en guide til VBA Luk UserForm. Her diskuterer vi, hvordan man lukker UserForm i Excel ved hjælp af Unload Me-erklæring og Userform.Hide-metode i VBA sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Sådan aktiveres ark i VBA?
  2. Evaluer formel i Excel
  3. Komplet guide til VBA List Box
  4. HYPERLINK formel i Excel

Kategori: