Come utilizzare ComboBox in VBA di Excel Userform?
Una casella combinata su un modulo utente è come un menu a discesa, che può essere utilizzato per scegliere un’opzione dalle opzioni disponibili. È come il menu a discesa che creiamo utilizzando la convalida dei dati sui fogli di lavoro.
Nella maggior parte dei moduli digitali, devi aver visto almeno una casella combinata. Potrebbe essere stato per selezionare uno stato da un elenco di stati, un corso da un elenco di corsi, un paese da un elenco di paesi, ecc. In questo articolo impareremo come aggiungere una casella combinata in un modulo utente VBA, come per inizializzare la casella combinata con i valori e come recuperare il valore dalla casella combinata.
Aggiunta di una casella combinata a un form utente Per aggiungere una casella combinata a un form utente, devi prima avere un form utente.
Dah !. Quindi apri VBE usando CTRL + F11. Fare clic con il tasto destro sulla cartella di lavoro, andare a inserire e fare clic su Userform. Hai aggiunto un modulo utente. Puoi leggere ulteriori informazioni sui form utente in VBA link: / applications-word-outlook-in-vba-come iniziare-con-excel-vba-userforms [qui]
.
Ora dalla casella degli strumenti, scegli la casella combinata. È la quarta opzione nella riga superiore. Se non riesci a vedere la cassetta degli attrezzi. Vai a Visualizza nel menu, fai clic su Casella degli strumenti. Apparirà la casella degli strumenti.
Ho aggiunto un’etichetta di stati perché questa casella combinata conterrà un elenco di alcuni stati e un pulsante di invio per inviare il modulo.
Come inizializzare una casella combinata in userform? Questa è la parte in cui la maggior parte delle persone commette errori. A volte gli studenti scrivono il codice per caricare i valori nella casella combinata, quindi inviano i pulsanti. E quando caricano il form utente, la casella combinata non mostra alcun valore. Per caricare la casella combinata, è necessario scrivere il codice, prima di caricare il form utente. Questo può essere fatto nel modulo, c o il pulsante in cui carichi il modulo. Il codice per caricare l’elenco della casella combinata dovrebbe essere prima del comando formname.show.
Caricamento di Combobox in UserForm Calling Subroutine
Diciamo che voglio codificare un array nella casella combinata dello stato. Quindi scriverò una subroutine che caricherà il form utente per riempire le informazioni. Vedi il codice sottostante.
Sub load_userform() states = Array("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = states UserForm1.Show End Sub
Definisco un array “stati” che contiene alcuni nomi di stati indiani.
Ora utilizzo il nome del form utente per accedere alla casella combinata poiché la casella combinata fa parte di form utente.
Il nome del mio modulo utente è userform1. E il nome di combobox è combobox1. Questi sono i nomi predefiniti. Puoi modificarli dalla finestra delle proprietà.
Successivamente inizializzo la proprietà list della casella combinata con gli stati.
E poi mostro userform1 usando il comando show.
Quando esegui il codice sopra, la casella combinata avrà tutti gli stati elencati.
Inizializzazione di Combobox utilizzando l’evento UserForm_Initialize ().
Un altro metodo per caricare i componenti della casella combinata su userform è usare l’evento userform Initialize. Questo evento viene eseguito prima del caricamento del modulo utente.
Qualsiasi cosa tu voglia fare prima che il form utente venga caricato, puoi farlo qui.
Una di queste cose è caricare gli elementi della casella combinata. Quindi fare doppio clic su userform per aprire l’area di codifica nell’oggetto userform. Ora dal menu a discesa a sinistra seleziona il modulo utente. Quindi dal menu a discesa a destra selezionare inizializza.
Verrà inserito un nome secondario vuoto UserForm_Initialize (). Qualsiasi cosa scritta in questo sottotitolo verrà eseguita prima che venga visualizzato il form utente.
Quindi scriviamo qui il codice di inizializzazione per la casella combinata.
Private Sub UserForm_Initialize() states = Array("Delhi", "UP", "UK", "Gujrat", "Kashmir") UserForm1.ComboBox1.List = states End Sub
Nota che non abbiamo il comando userform1.show qui. È ancora in quel modulo. Quel sottomarino verrà utilizzato per visualizzare il nostro modulo utente sullo schermo.
Sub load_userform() UserForm1.Show End Sub
Quindi gli utenti eseguiranno load_userform sub utilizzando un comando, un pulsante o un elemento assegnato a macro. Quando il compilatore esegue il comando code userform1.show, esegue immediatamente l’evento useforma_initialize (). Successivamente mostra il modulo utente agli utenti.
Note:
Se scrivi il codice per inizializzare la casella combinata con i valori nel clic button1 di comando, la casella combinata non mostrerà nulla.
Per inizializzare la casella combinata con i valori, caricarla in ogni caso che si verifica prima che l’utente raggiunga la casella combinata da riempire.
Recupero del valore da ComboBox Quindi usiamo i form per ottenere alcune informazioni. E per utilizzare queste informazioni, dobbiamo recuperarle. Per ottenere qualsiasi valore dalla casella combinata userform usiamo la proprietà combobox.value. In genere recuperiamo i valori dagli elementi del modulo una volta che l’utente completa il modulo e invia il modulo utilizzando il pulsante di invio. Quindi possiamo usare l’evento commandbutton_click. Quindi inserisci un pulsante di comando e scrivi submit su di esso, se già non lo hai. Ora fai doppio clic su di esso e sarai all’interno dell’evento commandButton_click.
Ora crea una variabile per memorizzare il valore. Salvalo su un foglio, se lo desideri. Infine uscire dal modulo utilizzando il comando Unload Me. Come mostrato nel codice sottostante.
Private Sub CommandButton1_Click() State = ComboBox1.Value ThisWorkbook.Worksheets("sheet1").Range("A1") = State Unload Me End Sub
Quindi sì ragazzi, questo è il modo in cui usi la casella combinata nei form utente VBA. Spero di essere stato esplicativo e pertinente. Se hai domande su questo argomento o su altre domande relative a VBA, chiedimi nella sezione commenti qui sotto.
Articoli correlati:
link: / applications-word-outlook-in-vba-get-started-with-excel-vba-userforms [Guida introduttiva ai form utente VBA di Excel]
| * Spiegherò come creare un modulo in Excel, come usarlo Toolbox VBA, come gestire gli input dell’utente e infine come memorizzare gli input dell’utente. Affronteremo questi argomenti utilizzando un esempio e una guida passo passo.
link: / general-topics-in-vba-vba-variables-in-excel [VBA variables in Excel]
| * VBA sta per Visual Basic for Applications.
È un linguaggio di programmazione di Microsoft. Viene utilizzato con applicazioni di Microsoft Office come MSExcel, MS-Word e MS-Access mentre le variabili VBA sono parole chiave specifiche.
link: / general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope]
| * In tutti i linguaggi di programmazione, abbiamo specificatori di accesso alle variabili che definiscono da dove è possibile accedere a una variabile definita. Excel VBA non fa eccezione. Anche VBA ha specificatori di ambito.
link: / celle-intervalli-righe-e-colonne-in-vba-qual-è-la-differenza-tra-byref-e-byval-argomenti-vba-interview-question [Argomenti ByRef e ByVal]
| Quando un argomento viene passato come argomento ByRef a un diverso sub o funzione, viene inviato il riferimento della variabile effettiva. Qualsiasi modifica apportata alla copia della variabile si rifletterà nell’argomento originale.
link: / files-cartella-di-lavoro-e-fogli di lavoro-in-vba-cancella-fogli-senza-richieste-di-conferma-usando-vba-in-microsoft-excel [Elimina fogli senza richieste di conferma usando VBA in Microsoft Excel]
| Dato che stai eliminando fogli usando VBA, sai cosa stai facendo.
Vorresti dire a Excel di non mostrare questo avviso ed eliminare il dannato foglio.
Aggiungi e salva una nuova cartella di lavoro usando VBA in Microsoft Excel 2016 | In questo codice abbiamo prima creato un riferimento a un oggetto cartella di lavoro. E poi l’abbiamo inizializzato con un nuovo oggetto cartella di lavoro. Il vantaggio di questo approccio è che puoi eseguire facilmente le operazioni su questa nuova cartella di lavoro. Come salvare, chiudere, eliminare, ecc. Visualizza un messaggio su La barra di stato di Excel VBA * | La barra di stato in Excel può essere utilizzata come monitor del codice. Quando il tuo codice VBA è lungo e svolgi diverse attività utilizzando VBA, spesso disabiliti l’aggiornamento dello schermo in modo da non vedere lo sfarfallio dello schermo.
link: / general-topics-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Turn Off Warning Messages Using VBA In Microsoft Excel 2016]
| * Questo codice non solo disabilita VBA avvisa ma aumenta anche l’efficienza temporale del codice. Vediamo come.
Articoli popolari:
link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-aumentare-la-produttività [50 scorciatoie Excel per aumentare la produttività]
| Diventa più veloce nel tuo compito. Queste 50 scorciatoie ti faranno lavorare ancora più velocemente su Excel.
link: / formule-e-funzioni-introduzione-di-vlookup-funzione [La funzione CERCA.VERT in Excel]
| Questa è una delle funzioni più utilizzate e popolari di Excel che viene utilizzata per cercare valori da diversi intervalli e fogli. link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016]
| Contare i valori con le condizioni utilizzando questa straordinaria funzione. Non è necessario filtrare i dati per contare valori specifici.
La funzione Countif è essenziale per preparare la tua dashboard.
link: / excel-formula-and-function-excel-sumif-function [Come usare la funzione SUMIF in Excel]
| Questa è un’altra funzione essenziale della dashboard. Questo ti aiuta a riassumere i valori su condizioni specifiche.