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

Lang L: none (table-of-contents)

Kasutajavormi loomisel 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 need on kasutajavormi sulgemiseks meetod Unload me või saame kasutada meetodit userform.hide.

Exceli VBA Sule kasutajavorm

Kasutajavormid on VBA projekti osana kasutajalt sisendite saamisel ülitähtsad. 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 see kasutajavormi sulgemiseks VBA kodeerimisteadmisi.

Selles artiklis 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 avaldusi „Unload Me” ja „UserForm.Hide”. Kuigi mõlemad erinevad üksteisest veidi, täidab see lõpuks meie eesmärki.

# 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, siis kui klõpsan nupul Esita, siis see hõivab 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, on meil veel üks nupp nimega „Tühista”. Mida see teeb?

Enne kasutajavormi kuvamist peame selle nupu konfigureerima. Nüüd lähen selle nupu konfigureerimiseks tagasi 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 järgmiselt: "Tühista mind."

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 väidet teistes moodulites nimetada. Kui helistatakse, kuvatakse veateade „ 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 on klõpsatud, salvestab see 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 nime järgi näeme punkti (.), Kui näeme kõiki selle kasutajavormi 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 Loobu, tühistab 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, olen klõpsanud nuppu Tühista, kui uue kasutajavormi uuesti kuvatakse, 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 kasutajavormi sulgemiseks kasutada käsku „Tühista” ja „Peida”.

Huvitavad Artiklid...