Excel VBA Chiudi UserForm

In precedenza avevamo discusso su come creare un form utente in VBA. Ora per ottenere l'input dall'utente c'era un pulsante per l'invio, che memorizzava quindi il valore fornito dall'utente in un foglio Excel. Ma cosa succede dopo aver dato il valore al modulo è ancora lì. O se l'utente non volesse fornire alcun dato e chiudere il modulo utente. Non avevamo discusso su come chiudere il modulo utente per l'utente. Simile al pulsante di invio per inviare i dati avevamo un altro pulsante che era per annullare che viene utilizzato per nascondere il modulo utente. Il pulsante Annulla ha anche un proprio codice per nascondere il modulo utente all'utente. Ora ci sono due metodi con cui possiamo nascondere un modulo utente. Sono i seguenti:

  1. Il primo metodo è quando utilizziamo il metodo Unload Me. Questo metodo scarica UserForm e scompare dal display.
  2. Un altro metodo è quando usiamo il metodo Useform.Hide. Questo metodo nasconde UserForm dal display.

Si consiglia di utilizzare il secondo metodo per chiudere UserForm poiché il primo metodo scaricherà completamente UserForm e tutti i dati inseriti dall'utente andranno completamente persi. Ma quando utilizziamo il secondo metodo per nascondere UserForm, è ancora presente l'ultima voce effettuata sul modulo utente dall'utente.

Come chiudere UserForm in Excel VBA?

Impareremo come chiudere UserForm in Excel VBA con la sua differenza e con alcuni esempi, ma prima, impariamo il metodo di chiusura di un modulo utente in VBA.

Esistono due metodi per chiudere il modulo utente in VBA:

  1. Scaricalo
  2. Nascondere
Puoi scaricare questo modello VBA Chiudi UserForm Excel qui - Modello VBA Chiudi UserForm Excel

Excel VBA Close UserForm - Esempio n. 1

Innanzitutto, proviamo il metodo di chiusura di un form utente utilizzando l'opzione Unload Me. Abbiamo avuto un modulo utente nel nostro precedente articolo che assomiglia a quello qui sotto.

Per il pulsante di invio avevamo il nostro codice, che memorizzava i dati inseriti dall'utente in Excel. Ora fai doppio clic sul pulsante Annulla che aprirà il codice per lo stesso come segue,

Codice:

 Private Sub CommandButton2_Click () End Sub 

Il pulsante Annulla era il secondo pulsante di comando che abbiamo fornito al modulo utente. Ora scrivi la dichiarazione del codice come Unload me nella sezione come mostrato nell'immagine qui sotto.

Codice:

 Private Sub CommandButton2_Click () Unload Me End Sub 

Possiamo vedere che Me è un'istruzione Object of Unload. Ora eseguiamo il modulo utente premendo il tasto F5 per visualizzarlo.

Premi il pulsante Annulla per vedere che il modulo utente scompare e ci riporta al modulo utente originale della finestra del progetto.

Excel VBA Close UserForm - Esempio n. 2

Ora proviamo il secondo metodo quale metodo userform.hide in modo simile a quello sopra, per prima cosa, apriamo il modulo utente dal modulo utente nella finestra del progetto.

Ora fai doppio clic sul pulsante Annulla che aprirà il codice di visualizzazione per il pulsante di comando Annulla.

Abbiamo già un'istruzione Unload Me presente nel pulsante di comando Annulla, cancella il codice e sostituiscilo con l'istruzione Userform.Hide .

Codice:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Ora eseguiamo di nuovo il modulo utente premendo il tasto F5 e visualizzalo sullo schermo.

Quando premiamo il pulsante Annulla, ci spostiamo nuovamente nella finestra del progetto del modulo utente. Ora potremmo chiederci tutti quale sia la differenza tra i due metodi, poiché entrambi i metodi chiudono perfettamente il modulo utente per noi, quindi perché è il secondo metodo più raccomandato di entrambi. Scopriremo esattamente perché nei prossimi due esempi.

Excel VBA Close UserForm - Esempio n. 3

Passiamo ora alla prima istruzione Unload Me del metodo per il pulsante Annulla e forniamo alcuni dati al modulo utente. Fare doppio clic sul pulsante Annulla dal modulo utente per aprire il codice di visualizzazione per il pulsante di comando e sostituire il codice con l'istruzione Unload Me come segue.

Codice:

 Private Sub CommandButton2_Click () Unload Me End Sub 

Ora esegui di nuovo il modulo utente premendo il tasto F5 e visualizzalo sullo schermo.

Forniamo alcuni dati al modulo utente come segue, ora non premere il pulsante di invio, premere il pulsante Annulla.

Eseguire nuovamente il modulo utente premendo il tasto F5.

Ora possiamo vedere che abbiamo perso i dati che abbiamo fornito al modulo utente poiché non li abbiamo inviati, non è stato memorizzato nel foglio di lavoro e abbiamo chiuso il modulo utente utilizzando l'istruzione Unload Me che ha rimosso i dati che erano già stati compilati.

Excel VBA Close UserForm - Esempio n. 4

Ora facciamo lo stesso esercizio ma usando l'istruzione Userform.Hide,

Nel pulsante di comando Annulla, sostituisci il codice usando il metodo userform.hide come mostrato di seguito.

Codice:

 Private Sub CommandButton2_Click () UserForm1.Hide End Sub 

Ora eseguiremo nuovamente il modulo utente premendo il tasto F5 e forniremo alcuni dati come segue.

Ora premiamo il pulsante Annulla ed eseguiamo di nuovo il modulo utente che ci darà il seguente risultato.

I dati non vengono nemmeno persi quando si preme il pulsante Annulla se si preme Invia, i dati verranno archiviati in Excel come segue.

Ora i dati sono memorizzati, il modulo utente è vuoto ora e possiamo chiudere il modulo utente utilizzando il pulsante Annulla,

Cose da ricordare

  • Una volta effettuata l'immissione dei dati da parte dell'utente, è necessario chiudere il modulo utente, quindi è importante quanto il pulsante di invio.
  • Chiudi Il modulo utente si trova nel pulsante di comando del modulo utente in VBA, in generale è denominato Annulla o Chiudi.
  • Esistono due metodi separati per chiudere un modulo utente ma alla fine servono allo stesso scopo l'uno dell'altro.
  • Il metodo Userform.Hide è più raccomandato come anche se il modulo utente viene chiuso dall'utente prima dell'immissione dei dati, i dati non vengono persi e la voce effettuata dall'utente viene nuovamente visualizzata quando un utente apre il modulo utente.

Articoli consigliati

Questa è una guida a VBA Close UserForm. Qui discutiamo come chiudere UserForm in Excel usando l'istruzione Unload Me e il metodo Userform.Hide in VBA insieme ad alcuni esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Come attivare il foglio in VBA?
  2. Valuta la formula in Excel
  3. Guida completa alla casella di riepilogo VBA
  4. Formula HYPERLINK in Excel

Categoria: