VBA Sule UserForm | 2 parimat meetodit kasutajavormi sulgemiseks näidetega

Kasutajavormi koostamisel võetakse andmed kasutajate sisenditena, kuid vormile edastatud andmed ei sulgu ennast, seega võib see kasutaja uuesti andmete sisestamiseks eksitada. Kasutame kasutajavormi sulgemiseks kahte erinevat käsku, kui sisend on on antud ja nad on kasutajavormi sulgemiseks meetod Unload me või saame kasutada meetodit userform.hide.

Exceli VBA Sule kasutajavorm

Kasutajavormid on VBA projekti raames kasutajalt sisendite saamisel üliolulised. Kujundame kasutajavormi tavaliselt enne selle esitamist kasutaja ees. Kui VBA kasutajavormi kujundamine on lõpule jõudnud, peame sama näitama ka kasutaja ees ja nõudma VBA kodeerimist. Samamoodi nõuab kasutajavormi sulgemine ka VBA kodeerimisteadmisi.

Selles artiklis me näitame teile, kuidas kasutajavormi VBA kodeerimisel sulgeda.

Kuidas sulgeda UserForm Exceli VBA-s?

Kui kasutajavormi eesmärk on täidetud, on mõtet kasutajavormi kasutaja ees pidevalt näidata, seega peame kasutajavormi sulgema. Kasutajavormi saab sulgeda, kasutades käsku „Tühista mind” ja „UserForm.Hide”. Ehkki mõlemad erinevad üksteisest veidi, täidab see lõpuks meie eesmärki.

Selle VBA Close UserForm Exceli malli saate alla laadida siit - VBA Close UserForm Exceli mall

# 1 - sulgege Userform, kasutades VBA-s avaldust „Unload Me”

Näiteks vaadake kasutajavormi allolevat pilti.

Olen nimetanud kasutajavormi nimeks “MyUserForm”.

Kui käivitan kasutajavormi, näeme kasutajavormi nagu allpool.

Pean täitma nõutavad üksikasjad, kui teave on täidetud, kui klõpsan nupul Esita, hõivab see samad andmed töölehele, mis on nähtav vasakul küljel.

Nupul Esita klõpsamisel on see hõivanud andmed, mille olen sisestanud kasutajavormi.

Kui märkate, et meil on veel üks nupp „Tühista”. Mida see teeb?

Enne kasutajavormi kuvamist peame selle nupu konfigureerima. Nüüd lähen selle nupu konfigureerimiseks visuaalse põhiredaktori juurde.

Nüüd topeltklõpsan nupul Tühista ja see avab automaatse VBA alamprotseduuri nagu allpool.

Selles protseduuris peame kirjutama VBA-koodi selle kohta, mis peaks juhtuma, kui klõpsame nuppu Tühista. Kui klõpsame sellel tühistamisnupul, peaks see sulgema kasutajavormi, millega praegu töötame.

Niisiis, kirjutage kood "Unload Me".

Kood:

 Private Sub CancelButton_Click () Unload Me End Sub 

„Unload Me” on sõna, mida kasutame selle kasutajavormi sulgemiseks, millega töötame. Siin tunneb kasutajavorm sõna „Mina” ära kui UserForm ise.

„Unload Me” saab kasutada ainult selle kasutajavormi protseduuri puhul, me ei saa seda lauset teistes moodulites kutsuda. Kui seda nimetatakse, kuvatakse tõrketeade kui “ Minu märksõna vale kasutamine ”.

Ok, käivitame koodi klahvi F5 abil või käsitsi, näeme tühja kasutajavormi.

Sisestage andmed ja klõpsake nuppu Esita.

Kui nupul Esita klõpsatakse, salvestatakse need väärtused mainitud lahtritesse.

Kui andmesisestus on tehtud, peame kasutajavormi sulgema, kas pole?

Niisiis, klõpsake kasutajavormi sulgemiseks nuppu Tühista, see sulgeb kasutajavormi.

# 2 - sulgege UserForm Exceli VBA-s peidemeetodi abil

Samuti saame Userformi sulgeda, kasutades VBA-s ka meetodit „Peida“. Privaatse alamprotseduuri nägemiseks topeltklõpsan veel kord nupul Tühista.

Kuna oleme kasutajavormi sulgemiseks juba koodi kirjutanud, näeme VBA-s olemasolevat koodi. Nüüd kustutan selle.

Peida meetodi kasutamiseks peame kutsuma kasutajavormi selle nimega. Sel juhul on meie kasutajavormi nimi “MyUserForm”.

Pärast kasutajavormi mainimist selle nime järgi, kui paneme punkti (.), Näeme selle kasutajavormi kõiki omadusi ja meetodeid. Nüüd valin "Peida" meetodi.

Ok, käivitame kasutajavormi veel ühe korra. Näeme tühja kasutajavormi, täitke kõigepealt üksikasjad.

Nüüd klõpsamata nuppu Esita, klõpsan nuppu Tühista, see peidab kasutaja vormi.

Erinevus Exceli VBA mahalaadimise ja peitmise vahel

Teil peab olema küsimus, mis vahe on Unload & Hide vahel, kus mõlemad täidavad sarnast eesmärki. Neil kahel on vahe. Nüüd kasutan kõigepealt käsku Unload Me. Vaadake allolevat pilti.

Olen sisestanud andmed kasutajavormi, kuid pole neid veel esitanud. Kui klõpsan nupul Tühista, laadib see kasutajavormi.

Nüüd jällegi käivitan koodi Exceli kiirklahvi F5 kaudu või käsitsi, see kuvab tühja kasutajavormi.

Ehkki olen kogemata andmed õigesti sisestanud, klõpsasin nuppu Tühista, kui uue kasutajavormi ilmumine uuesti ilmub, olen andmed nullist täitnud.

Nüüd kasutan "Peida" meetodit.

Ei, klõpsan nupul Tühista, see peidab nähtava kasutajavormi. Kuid kui ma makro uuesti käivitan, tuleb see tagasi andmetega, mille olen kasutajavormile juba sisestanud.

Nii saame Exceli VBA-s olevate kasutajavormide sulgemiseks kasutada lauset „Tühjenda” ja „Peida”.


$config[zx-auto] not found$config[zx-overlay] not found