Excel VBA Sulje UserForm
Aiemmin olimme keskustelleet siitä, miten luodaan UserForm VBA: ssa. Nyt saadaksesi syötteitä käyttäjältä oli painike lähettämiseen, joka tallensi käyttäjän antaman arvon Excel-taulukkoon. Mutta mitä arvon antamisen jälkeen muoto on edelleen olemassa. Entä jos käyttäjä ei halua antaa mitään tietoja ja sulkea käyttäjän lomake. Emme olleet keskustelleet siitä, kuinka suljemme käyttäjän lomake. Samanlainen kuin lähetä-painike tietojen toimittamiseen, meillä oli toinen peruutuspainike, jota käytetään piilottamaan käyttäjän lomake. Peruutuspainikkeella on myös oma koodi piilottaaksesi käyttäjän lomakkeen käyttäjältä. Nyt on olemassa kaksi tapaa, joilla voimme piilottaa käyttäjän lomakkeen. Ne ovat seuraavat:
- Ensimmäinen menetelmä on, kun käytämme Unload Me -menetelmää. Tämä menetelmä poistaa UserFormin ja se katoaa näytöstä.
- Toinen menetelmä on, kun käytämme Useform.Hide-menetelmää. Tämä menetelmä piilottaa UserForm-näytön.
On suositeltavaa käyttää toista menetelmää UserFormin sulkemiseen, koska ensimmäinen menetelmä purkaa UserFormin kokonaan ja käyttäjän syöttämät tiedot menetetään kokonaan. Mutta kun käytämme toista tapaa piilottaa UserForm, silloin käyttäjän viimeinen käyttäjälomakkeeseen tekemä merkintä on edelleen olemassa.
Kuinka sulkea UserForm Excel VBA: ssa?
Opimme kuinka sulkea UserForm Excel VBA: ssa sen erotuksella ja muutamalla esimerkillä, mutta ensin opitaan tapa, jolla käyttäjän lomake suljetaan VBA: ssa.
VBA: lla on kaksi tapaa sulkea käyttäjän lomake:
- Poista minut
- Piilottaa
Excel VBA Sulje UserForm - esimerkki # 1
Ensin kokeillaan tapaa sulkea UserForm käyttämällä Unload Me -vaihtoehtoa. Edellisessä artikkelissamme oli käyttäjän lomake, joka näyttää alla olevalta.
Lähetä-painikkeelle meillä oli koodimme, joka tallensi käyttäjän syöttämät tiedot exceliin. Kaksoisnapsauta nyt peruutuspainiketta, joka avaa koodin seuraavalle,
Koodi:
Yksityinen alikomento Button2_Click () End Sub
Peruuta-painike oli toinen komentopainike, jonka toimitimme käyttäjämuodolle. Kirjoita nyt lauseke alla olevaan kuvaan osoittamalla Tyhjennä minut -kohtaan .
Koodi:
Yksityinen alikomento Button2_Click () Unload Me End Sub
Voimme nähdä, että minä olen Object of lastin käsky. Nyt ajetaan käyttäjän lomake painamalla F5-näppäintä näyttääksesi sen.
Paina Peruuta-painiketta nähdäksesi, että käyttäjälomake katoaa ja vie meidät takaisin projekti-ikkunan alkuperäiseen käyttäjämuotoon.
Excel VBA Sulje UserForm - esimerkki 2
Kokeile nyt nyt toista menetelmää, joka userform.hide -menetelmää vastaavalla tavalla kuin yllä, ensin avataan käyttäjälomake projekti-ikkunan käyttäjän lomakkeesta.
Nyt kaksoisnapsauta peruutuspainiketta, joka avaa peruutuskomentopainikkeen näkymäkoodin.
Poista-komento-painikkeessa on jo Unload Me -käsky, tyhjennä koodi ja korvaa se Userform.Hide-käskyllä .
Koodi:
Yksityinen alikomento Button2_Click () UserForm1.Hide End Sub
Nostakaamme nyt uudelleen käyttäjän lomake painamalla F5-näppäintä ja näytä se ruudulla.
Kun painamme peruutuspainiketta, siirrymme jälleen käyttäjälomakkeen projekti-ikkunaan. Nyt me kaikki voimme ihmetellä, mikä on ero näiden kahden menetelmän välillä, koska molemmat menetelmät sulkevat käyttäjän lomakkeen meille täydellisesti, miksi se on molempien toinen menetelmä suositeltuin menetelmä. Selvitämme tarkalleen miksi kahdessa seuraavassa esimerkissä.
Excel VBA Sulje UserForm - esimerkki 3
Siirrytään nyt ensimmäiseen menetelmään Poista me-käsky peruutuspainikkeelle ja anna joitain tietoja käyttäjän lomakkeelle. Kaksoisnapsauta käyttäjälomakkeen peruutuspainiketta avataksesi komentopainikkeen näkymäkoodin ja korvatakoodin Unload Me -käskyllä seuraavasti.
Koodi:
Yksityinen alikomento Button2_Click () Unload Me End Sub
Suorita käyttäjämuoto uudelleen painamalla F5-näppäintä ja aseta se näyttöön ruudulla.
Annetaan joitain tietoja käyttäjän lomakkeelle seuraavasti, älä paina nyt lähetä-painiketta, paina Peruuta-painiketta.
Suorita käyttäjämuoto uudelleen painamalla F5-näppäintä.
Nyt voimme nähdä, että olemme menettäneet tiedot, jotka olemme toimittaneet käyttäjälomakkeelle, koska emme toimittaneet sitä, sitä ei tallennettu laskentataulukkoon ja suljettiin käyttäjälomake käyttämällä Unload Me -käskyä, joka poisti jo täytetyt tiedot.
Excel VBA Sulje UserForm - esimerkki # 4
Nyt tehdään sama tehtävä, mutta käyttämällä Userform.Hide-käskyä,
Korvaa peruutuskomentopainikkeessa sen koodi käyttämällä userform.hide-menetelmää alla olevan kuvan mukaisesti.
Koodi:
Yksityinen alikomento Button2_Click () UserForm1.Hide End Sub
Nyt ajaa käyttäjämuoto uudelleen painamalla F5-näppäintä ja toimittamalla sille joitain tietoja seuraavasti.
Nyt painaa peruutuspainiketta ja ajaa sitten uudelleen käyttäjän muoto, joka antaa meille seuraavan tuloksen.
Tietoja ei menetetä edes painettaessa peruutuspainiketta, jos painamme lähetä, se tallentaa tiedot exceliin seuraavasti.
Nyt tiedot on tallennettu, käyttäjälomake on tyhjä ja voimme sulkea käyttäjälomakkeen peruutuspainikkeella,
Muistettavat asiat
- Kun käyttäjä on suorittanut tietojen syöttämisen, meidän on suljettava käyttäjälomake, joten se on yhtä tärkeä kuin lähetä-painike.
- Sulje käyttäjän muoto on VBA: n käyttäjän lomakkeen komentopainikkeessa. Yleensä sen nimi on Peruuta tai Sulje.
- Käyttäjälomakkeen sulkemiseksi on kaksi erillistä menetelmää, mutta lopulta ne toimivat samalla tarkoituksella kuin toiset.
- Userform.Hide -menetelmää suositellaan parhaiten, koska vaikka käyttäjä sulkee käyttäjän lomakkeen ennen tietojen syöttämistä, tietoja ei menetetä ja käyttäjän tekemä merkintä näkyy jälleen, kun käyttäjä avaa käyttäjälomakkeen.
Suositellut artikkelit
Tämä on opas VBA Close UserFormiin. Tässä keskustellaan kuinka suljetaan UserForm Excelissä käyttämällä Unload Me -käskyä ja Userform.Hide-menetelmää VBA: ssa sekä joitain käytännön esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -
- Kuinka aktivoida arkki VBA: ssa?
- Arvioi kaava Excelissä
- Täydellinen opas VBA-luetteloruutuun
- HYPERLINK-kaava Excelissä