VBA UserForm

Modulo utente VBA di Excel

I moduli utente in VBA sono moduli personalizzati definiti dall'utente che vengono creati per ricevere input da un utente nel formato di un modulo, ha diversi set di controlli da aggiungere come caselle di testo, etichette di caselle di controllo, ecc. Per guidare un utente a inserire un valore e memorizza il valore nel foglio di lavoro, ogni parte del modulo utente ha un codice univoco con esso.

Userform è un oggetto all'interno dell'interfaccia di Excel e all'interno di questo form utente, possiamo creare altre utili finestre di dialogo personalizzate per ottenere i dati dall'utente. Quando lavori con un file macro creato dal tuo senior o che può essere scaricato da Internet, devi aver visto un modulo utente come questo.

In questo articolo, ti mostreremo come creare un modulo utente simile per memorizzare i dati dell'utente.

Come creare un modulo utente?

Analogamente a come inserisci un nuovo modulo, allo stesso modo devi fare clic sul pulsante INSERT in Visual Basic Editor per inserire Userform.

Puoi scaricare questo modello Excel VBA Userform qui - Modello Excel VBA Userform

Non appena si fa clic su questo, verrà inserito anche il modulo utente.

Prima di dirti come programmare questo, lascia che ti mostri come formattare questo modulo utente.

Formattazione del modulo utente

Selezionando il modulo utente premere il tasto F4, ti mostrerà la finestra delle proprietà.

Usando questa finestra delle proprietà possiamo formattare questo modulo utente, possiamo dargli un nome, possiamo cambiare il colore, lo stile del bordo ecc ...

In questo modo, prova altre proprietà per ottenere la vista di userform.

Ora per questo modulo utente inserire Toolbox.

Ora vedremo una cassetta degli attrezzi come questa.

In questo momento il form utente è appena inserito non programmato. Per sapere come funziona basta fare clic sul pulsante Esegui, vedremo il modulo sul foglio di lavoro di Excel.

Ora usando l'etichetta di disegno di ToolBox.

Immettere il testo come nome del dipendente all'interno dell'etichetta.

Per questa etichetta, quindi possiamo formattare utilizzando le proprietà. Ora abbiamo inserito il testo come "Nome del dipendente:" ora possiamo vederlo nella finestra delle proprietà sotto Didascalie.

Inserisci un'altra etichetta. Per inserire un'altra etichetta puoi fare clic su una casella degli strumenti o trascinare l'etichetta corrente tenendo premuto il tasto Ctrl , avrai una replica dell'etichetta corrente.

Ora avremo la stessa etichetta.

Cambia il nome in ID dipendente.

Allo stesso modo, inserisci un'altra etichetta e chiamala "Dipartimento".

Ora dalla casella degli strumenti inserisci una casella di testo.

Assegna a questa casella di testo il nome EmpName nella finestra delle proprietà.

In questo modo, inserisci altre due caselle di testo rispettivamente da ID dipendente e dipartimento. Assegna un nome a quelle caselle di testo secondo la loro intestazione.

Allo stesso modo, fallo per il Dipartimento.

Ora dalla casella degli strumenti inserisci il pulsante di comando.

Modificare il nome del pulsante di comando in "SubmitButton" e modificare la didascalia in "Invia".

Inserisci un altro pulsante e chiamalo "Annulla".

Ora, solo per vedere eseguire, premere il pulsante Esegui o utilizzare il tasto F5 e vedere come appare il modulo utente in Excel.

Ora sta arrivando alla forma.

Codice VBA

Ora l'utente inserirà i dati in questo, quindi dobbiamo programmarlo per memorizzare i dati inseriti dall'utente in questo modulo.

Fare doppio clic sul pulsante INVIA, ti porterà alla finestra della macro con una macro creata automaticamente come la seguente.

It says SubmitButton click, remember we had given a name for SUBMIT button as SubmitButton.

So, whenever we want to call this button we can call this by this name (submit button). Inside this macro copy and paste the below code.

Code:

 Private Sub SubmitButton_Click() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(LR, 1).Value = EmpName.Value Cells(LR, 2).Value = EmpID.Value Cells(LR, 3).Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub 

  • EmpName.Value here EmpName is the text box name we had given while creating the employee name text box.
  • EmpID.Value here EmpID is the text box name of Employee ID text box.
  • Dept.Value this is department text box name.

Quindi, facendo clic sul pulsante Invia, memorizzerà i valori nelle celle menzionate.

Ora fai doppio clic sul pulsante Annulla, questo ti mostrerà anche il nome della macro automatica come questo.

Copia il codice sottostante e incolla.

Codice:

 Sottotitoli privati ​​CancelButton_Click () MyUserForm.Hide End Sub 

MyUserForm è il nome che avevamo dato al form utente. MyUserForm.Hide significa che al clic sul pulsante CANCEL nasconderà il form utente.

Ok, ora crea un modello come questo nel foglio di lavoro.

Elimina tutti gli altri fogli nella cartella di lavoro tranne questo foglio modello.

Ora vai a Visual Basic Editor.

Ed esegui la macro usando il tasto F5 o manualmente, vedremo il modulo utente di fronte a noi.

Immettere il nome del dipendente, l'ID del dipendente e il nome del reparto.

Ora se fai clic sul pulsante INVIA, memorizzerà i valori sul modello che abbiamo creato.

Like this you can keep entering the names, userform will keep storing the values entered by the user in the specified cells.

So by using USER FORM, we can actually create wonderful projects to get the information from the user.