In questo articolo imparerai le basi dei moduli utente VBA. Spiegherò come creare un modulo in excel, come utilizzare il toolbox VBA, come gestire gli input dell'utente e infine come archiviare gli input dell'utente. Esamineremo questi argomenti utilizzando un esempio e una guida passo passo. Se stai leggendo questo, presumo che tu conosca le basi di Excel VBA.
Senza ulteriori indugi, iniziamo.
Crea un modulo per gli investimenti in Excel e archivia i record
Inizieremo progettando il modulo utente. In questo modulo utente, avremo una casella di testo per il nome, una per l'età, una per l'importo dell'investimento e un paio di pulsanti di opzione per il sesso. Iniziamo.
Progetta il form utente
- Apri l'editor Visual Basic in Excel usando la scorciatoia ALT+F11. In Project Box, fare clic con il tasto destro su Progetto VBA(il tuo file). In inserire opzione, scegli Modulo utente.
- Immediatamente, verrà creata una nuova cartella e il tuo modulo utente verrà trovato nel loro. Tutti i moduli utente per questo progetto verranno aggiunti in questa cartella.
- Cambia il nome del modulo in InvestmentForm nel casella di proprietà.
- Aggiungi elementi al modulo: Nell'immagine sopra ho già aggiunto elementi (etichette, casella di testo, pulsante di comando). Tuttavia, un nuovo modulo utente è completamente vuoto. È necessario utilizzare la casella degli strumenti per aggiungere elementi al modulo. Se non riesci a vedere la cassetta degli attrezzi, scaricala da Visualizza scheda.
- Elementi del nome: La casella di testo, le etichette, i pulsanti, ecc. sono tutti elementi. E per usarli nel codice VBA dobbiamo dare loro dei nomi. Usiamo la finestra delle proprietà per cambiare il loro nome.
- Seleziona l'elemento. Eccomi selezionare la casella di testo per il nome. Vai alla finestra delle proprietà e cambia il nome in "NomeBox”. Fai lo stesso per ogni elemento che utilizzerai. (non è necessario assegnare un nome alle etichette, a meno che non si desideri che siano cliccabili.)
La finestra delle proprietà è mostrata in basso a sinistra nell'esploratore del progetto. Se non riesci a vederlo, vai a vedere e clicca su Finestra delle proprietà. Lo useremo molto, quindi assicurati che sia lì. Viene utilizzato per lo styling, la denominazione e la personalizzazione dei moduli.
Aggiungi etichette utilizzando la casella degli strumenti per i nomi descrittivi. Aggiungi casella di testo per gli input dell'utente.
Aggiungi due pulsanti di opzione e chiamali Maschio e Femmina.
Ho usato una cornice per incapsularli, ma non è necessario.
Aggiungi pulsanti di comando Sottoscrivi e Annulla per eseguire l'operazione su un dato input.
Ho rinominato l'elemento come sotto la tabella e userò questi nomi per fare riferimento a loro. Puoi avere nomi diversi. Sostituisci questi nomi con il tuo nome. Questi sono nomi VBA (nome in codice) che verranno utilizzati nel codice. Non si rifletteranno sul modulo.
Il testo che puoi vedere su etichette e pulsanti è "Sottotitoli". Il nome e la didascalia dell'elemento possono essere gli stessi, se lo desideri.
Elemento | Rinominare |
Casella di testo del nome | NameBox |
Casella di testo dell'età | AgeBox |
Pulsante di opzione maschio | Opzione maschio |
Pulsante di opzione femminile | Opzione femminile |
Casella di testo investimento | InvestBox |
Pulsante Invia comando | Pulsante Invia |
Pulsante di comando Annulla | Pulsante Annulla |
- Mostra modulo utente a utente: ora il modulo è pronto, mostriamolo all'utente. Ma aspetta, come faccio. Non c'è alcuna opzione sul foglio di lavoro per chiamare il modulo utente.
- In un foglio di lavoro, vai alla scheda sviluppatori? Inserire? Pulsante (controllo modulo). Rinominalo modulo aperto.
- Fare clic destro su di esso. Fare clic su assegna macro e quindi fare clic su nuovo.
- Verrà creato immediatamente un sottotitolo. Ora aggiungi questa riga a quel sottotitolo.
In realtà, il modulo utente deve essere attivato. Non può essere mostrato da solo. È possibile utilizzare un pulsante di comando, una subroutine o un evento per far apparire un modulo sullo schermo.
Qui userò un pulsante di comando per attivare il modulo utente.
Sub Open_Form() 'Apri il modulo InvestmentForm.Show End Sub
È fatta. Torna a quel foglio e fai clic sul pulsante. Verrà visualizzato il modulo utente.
- Compila il foglio utilizzando il modulo utente VBA: quando abbiamo fatto clic sul pulsante di comando (modulo aperto), viene visualizzato il modulo. Ora puoi compilare il modulo. Ma quando clicchiamo sul pulsante di invio, i dati dovrebbero essere stati inseriti su questo foglio, ma non succede nulla.
Perché non abbiamo scritto alcuna istruzione vba per questo. Abbiamo bisogno di memorizzare i dati del modulo utente in un foglio.
- Torna a VBA e fai doppio clic su Invia pulsante. Verrà creato automaticamente un nuovo sottotitolo. Questo sottotitolo è incorporato nel modulo e non puoi trovarlo in nessun modulo. Questo è lo stesso per ogni elemento della forma.
- Scrivi questo codice vba in quel sub.
Private SubmitButton_Click() Sheet1.Activate 'ottieni la prima riga vuota sul foglio (leggi qui) lstrow = Cells(Rows.Count, 1).End(xlUp).Row Set firstEmptyRow = Range("A" & lstrow + 1 ) 'inizializza ogni cella con i dati firstEmptyRow.Offset(0, 0).Value = nameBox.Value 'prima cella firstEmptyRow.Offset(0, 1).Value = AgeBox.Value 'prima cella a destra firstEmptyRow.Offset(0, 3).Value = InvestBox.Value 'terza cella a destra' controllo del pulsante di opzione If MaleOption.Value = True Then firstEmptyRow.Offset(0, 2).Value = "Male" 'seconda cella a destra Else firstEmptyRow.Offset( 0, 2).Value = "Femmina" 'seconda cella a destra End If 'Chiusura modulo Unload Me End Sub
Il frammento di codice VBA sopra viene eseguito quando si fa clic sul pulsante di invio. Trova la prima riga vuota sul foglio e la riempie con i valori forniti nel modulo. E alla fine chiude il modulo usando il comando "Unload Me".
- Utilizzare il comando Annulla per chiudere il modulo. Per ora, il pulsante Annulla è inutile. Non sta facendo nulla. Nel caso in cui si desideri interrompere l'immissione, è possibile utilizzare il pulsante Annulla. In quel caso:
Fare doppio clic sul pulsante di comando Annulla nell'editor VBA. Verrà creato un nuovo sottotitolo. Basta scrivere questa riga di codice per chiudere il modulo utente.
Private Sub CancelButton_Click() 'Chiusura modulo Unload Me End Sub
Alla fine il codice del modulo sarà simile a questo.
E questo è tutto. Questo è il modo in cui usi il modulo utente excel vba per ottenere input dagli utenti. In questo articolo, abbiamo appena esplorato l'uso di base di userform, in modo che tu possa familiarizzare con esso. È semplice, se hai una conoscenza di base di vba.
Negli articoli futuri, esploreremo funzionalità più avanzate dei moduli utente vba in Excel. Creeremo userform in excel per fare molto di più. Esploreremo diversi strumenti ed elementi disponibili per vba userform. Fino ad allora pratica questo. Se lo desideri, puoi scaricare questo file come riferimento.
Quindi sì ragazzi, questo era un piccolo e semplice tutorial sul form utente. Spero sia stato intraprendente. Fatemi sapere se avete dei dubbi in merito, fatemelo sapere nella sezione commenti qui sotto.
articoli Correlati
Modifica il valore/contenuto di diversi controlli UserForm utilizzando VBA in Excel
Impedisci la chiusura di un modulo utente quando l'utente fa clic sul pulsante x utilizzando VBA in Excel
Restituire le celle a cui fa riferimento l'utente utilizzando il controllo ModRif del form utente in Excel
Articoli popolari:
La funzione CERCA.VERT in Excel
CONTA.SE in Excel 2016
Come utilizzare la funzione SOMMA.SE in Excel