Macro di Excel - Form utente

A volte, potresti dover raccogliere ripetutamente informazioni da altri. Excel VBA fornisce un modo semplice per gestire questa attività-UserForm. Come ogni altro modulo che si riempie, UserForm rende semplice capire quali informazioni devono essere fornite. UserForm è facile da usare in quanto i controlli forniti sono autoesplicativi, accompagnati da istruzioni aggiuntive ove necessario.

Il vantaggio principale di UserForm è che puoi risparmiare tempo speso su cosa e come devono essere riempite le informazioni.

Creazione di un form utente

Per creare un form utente, procedere come segue:

  • Fare clic sulla scheda SVILUPPATORE sulla barra multifunzione.
  • Fare clic su Visual Basic. Si apre una finestra di Visual Basic per la cartella di lavoro.
  • Fare clic su Inserisci,
  • Seleziona UserForm dall'elenco a discesa.

UserForm viene visualizzato sul lato destro della finestra.

Capire UserForm

Ingrandire la finestra UserForm.xlsx - UserForm1.

Ora sei in modalità progettazione. È possibile inserire controlli in UserForm e scrivere codice per le rispettive azioni. I controlli sono disponibili nella casella degli strumenti. Le proprietà di UserForm si trovano nella finestra Proprietà. UserForm1 (didascalia di UserForm) viene fornito in Moduli in Esplora progetti.

  • Modificare la didascalia di UserForm in Report progetto - Giornaliero nella finestra delle proprietà.
  • Modificare il nome di UserForm in ProjectReport.

Le modifiche si riflettono in UserForm, proprietà e Project Explorer.

Controlli nella casella degli strumenti

Un form utente avrà diversi componenti. Ogni volta che fai clic su uno qualsiasi dei componenti, ti verranno fornite le istruzioni su cosa e come devono essere fornite le informazioni oppure ti verranno fornite le opzioni (scelte) tra cui scegliere. Tutto ciò viene fornito tramite controlli ActiveX nel ToolBox di UserForm.

Excel fornisce due tipi di controlli: controlli modulo e controlli ActiveX. È necessario comprendere la differenza tra questi due tipi di controlli.

Controlli del modulo

I controlli del modulo sono i controlli originali di Excel compatibili con le versioni precedenti di Excel, a partire da Excel versione 5.0. I controlli del modulo sono progettati anche per l'uso su fogli macro XLM.

È possibile eseguire macro utilizzando i controlli del modulo. È possibile assegnare una macro esistente a un controllo oppure scrivere o registrare una nuova macro. Quando si fa clic sul controllo, la macro. Hai già imparato come inserire un pulsante di comando dai controlli Modulo nel foglio di lavoro per eseguire una macro. Tuttavia, questi controlli non possono essere aggiunti a un UserForm.

Controlli ActiveX

I controlli ActiveX possono essere utilizzati su UserForms VBA. I controlli ActiveX hanno proprietà estese che è possibile utilizzare per personalizzarne l'aspetto, il comportamento, i caratteri e altre caratteristiche.

Hai i seguenti controlli ActiveX in UserForm ToolBox:

  • Pointer
  • Label
  • TextBox
  • ComboBox
  • ListBox
  • CheckBox
  • OptionButton
  • Frame
  • ToggleButton
  • CommandButton
  • TabStrip
  • MultiPage
  • ScrollBar
  • SpinButton
  • Image

Oltre a questi controlli, Visual Basic fornisce la funzione MsgBox che può essere utilizzata per visualizzare messaggi e / o richiedere un'azione all'utente.

Nelle prossime sezioni, capirai questi controlli e MsgBox. Quindi, sarai in grado di scegliere quali di questi controlli sono necessari per progettare il tuo Form utente.

Etichetta

È possibile utilizzare le etichette a scopo di identificazione visualizzando testo descrittivo, come titoli, didascalie e / o brevi istruzioni.

Example

Casella di testo

È possibile utilizzare una casella di testo che è una casella rettangolare per digitare, visualizzare o modificare il testo. È inoltre possibile utilizzare un TextBox come campo di testo statico che presenta informazioni di sola lettura.

Example

Casella di riepilogo

È possibile utilizzare una casella di riepilogo per visualizzare un elenco di uno o più elementi di testo da cui un utente può scegliere. Utilizzare una casella di riepilogo per visualizzare un numero elevato di scelte che variano in numero o contenuto.

  • Inserisci un ListBox in UserForm.
  • Fare clic su ListBox.
  • Digitare ProjectCodes per Name nella finestra Proprietà del ListBox.

Esistono tre tipi di caselle di riepilogo:

  • Single-selection List box- Una casella di riepilogo a selezione singola consente una sola scelta. In questo caso, una casella di riepilogo è simile a un gruppo di pulsanti di opzione, ad eccezione del fatto che una casella di riepilogo può gestire un numero elevato di elementi in modo più efficiente.

  • Multiple selection List Box - Una casella di riepilogo a selezione multipla consente una scelta o scelte contigue (adiacenti).

  • Extended-selection List Box - Una casella di riepilogo a selezione estesa consente una scelta, scelte contigue e scelte non contigue (o disgiunte).

È possibile selezionare uno di questi tipi di caselle di riepilogo dalla finestra Proprietà.

  • Fare clic con il tasto destro su UserForm.
  • Seleziona Visualizza codice dall'elenco a discesa. Si apre la finestra del codice di UserForm.
  • Fare clic su Inizializza nella casella in alto a destra della finestra del codice.
  • Digitare quanto segue in Private Sub UserForm_Initialize ().
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Successivamente, puoi scrivere il codice per le azioni sulla selezione di un elemento nell'elenco. Altrimenti, puoi semplicemente visualizzare il testo selezionato, che è il caso per riempire il codice del progetto nel report.

Combo box

Puoi usare ComboBoxche combina una casella di testo con una casella di riepilogo per creare una casella di riepilogo a discesa. Una casella combinata è più compatta di una casella di riepilogo ma richiede all'utente di fare clic sulla freccia in giù per visualizzare l'elenco di elementi. Utilizza una casella combinata per scegliere un solo elemento dall'elenco.

  • Inserisci un ComboBox in UserForm.
  • Fare clic sulla casella combinata.
  • Digitare ProjectCodes2 per Nome nella finestra Proprietà del ComboBox.
  • Fare clic con il tasto destro su UserForm.
  • Seleziona Visualizza codice dall'elenco a discesa.
  • Si apre la finestra del codice di UserForm.

Digitare quanto segue come mostrato di seguito.

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Fare clic sulla freccia in basso per visualizzare l'elenco degli elementi.

Fare clic sull'elemento richiesto, ad esempio Project2016-5. L'opzione selezionata verrà visualizzata nella casella combinata.

CheckBox

È possibile utilizzare le caselle di controllo per selezionare una o più opzioni visualizzate facendo clic nelle caselle. Le opzioni avranno etichette e puoi visualizzare chiaramente quali opzioni sono selezionate.

Una casella di controllo può avere due stati:

  • Selezionato (attivato), indicato da un segno di spunta nella casella
  • Cancellato (spento), indicato da una casella trasparente

È possibile utilizzare le caselle di controllo per la selezione di opzioni in una casella combinata per risparmiare spazio. In tal caso, la casella di controllo può avere anche un terzo stato:

  • Mixed, ovvero una combinazione di stati on e off, indicati da un punto nero nella casella. Verrà visualizzato per indicare più selezioni nella casella combinata con caselle di controllo.

  • Inserire le caselle di controllo in UserForm come mostrato di seguito.

  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.
  • Fare clic nelle caselle per le opzioni selezionate.

OptionButton

È possibile utilizzare un pulsante di opzione, noto anche come pulsante di opzione, per effettuare un'unica scelta all'interno di un insieme limitato di scelte che si escludono a vicenda. Un pulsante di opzione è solitamente contenuto in una casella di gruppo o in una cornice.

Un pulsante di opzione è rappresentato da un piccolo cerchio. Un pulsante di opzione può avere uno dei due stati seguenti:

  • Selezionato (attivato), indicato da un punto nel cerchio
  • Cancellato (disattivato), indicato da uno spazio vuoto

Telaio

È possibile utilizzare un controllo frame, noto anche come casella di gruppo per raggruppare i controlli correlati in un'unità visiva. In genere, i pulsanti di opzione, le caselle di controllo o il contenuto strettamente correlato sono raggruppati in un controllo frame.

Un controllo frame è rappresentato da un oggetto rettangolare con un'etichetta opzionale.

  • Inserisci una cornice con didascalia "Scelta".

  • Inserire due pulsanti di opzione con didascalie "Sì" e "No" nel controllo del frame. Le opzioni Sì e No si escludono a vicenda.

  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.
  • Fare clic sull'opzione selezionata.

Interruttore

È possibile utilizzare un pulsante di attivazione / disattivazione per indicare uno stato, ad esempio Sì o No, o una modalità, ad esempio On o Off. Il pulsante alterna tra uno stato abilitato e uno disabilitato quando viene cliccato.

Inserisci un pulsante di attivazione / disattivazione su UserForm come mostrato di seguito -

  • Fare clic sulla scheda Esegui sulla barra multifunzione.

  • Seleziona Esegui Sub / UserForm dall'elenco a discesa. Il pulsante di attivazione / disattivazione sarà nello stato abilitato per impostazione predefinita.

Fare clic sul pulsante di attivazione / disattivazione. Il pulsante di attivazione / disattivazione verrà disattivato.

Se fai di nuovo clic sul pulsante di attivazione / disattivazione, verrà abilitato.

Pulsante di comando

È possibile utilizzare un pulsante di comando per eseguire una macro che esegue alcune azioni quando l'utente fa clic su di essa. Hai già imparato come utilizzare un pulsante di comando su un foglio di lavoro per eseguire una macro.

Il pulsante di comando viene anche definito pulsante. Inserisci un pulsante di comando su UserForm come mostrato di seguito -

  • Fare clic con il pulsante destro del mouse sul pulsante di comando.
  • Digitare il codice seguente nel sub Commandbutton1_click ().
ProjectCodes2.DropDown
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Fare clic sul pulsante di comando. Si apre l'elenco a discesa della casella combinata, poiché è l'azione che hai scritto nel codice.

TabStrip

È possibile inserire una tabstrip che assomiglia alle schede di Excel in UserForm.

Barra di scorrimento

È possibile utilizzare una barra di scorrimento per scorrere un intervallo di valori facendo clic sulle frecce di scorrimento o trascinando la casella di scorrimento.

Inserire una barra di scorrimento in UserForm disegnandola nella posizione richiesta e regolare la lunghezza della barra di scorrimento.

  • Fare clic con il tasto destro sulla barra di scorrimento.
  • Seleziona Visualizza codice dall'elenco a discesa. Si apre la finestra Codice.
  • Aggiungi la seguente riga sotto ScrollBar1_Scroll ().
TextBox2.Text = "Scrolling Values"
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Trascina la casella di scorrimento. Il Testo - Valori di scorrimento verrà visualizzato nella casella di testo come è stato specificato come azione per lo scorrimento della barra di scorrimento.

MsgBox ()

È possibile utilizzare la funzione MsgBox () per visualizzare un messaggio quando si fa clic su qualcosa. Può essere una linea guida o alcune informazioni o un avviso o un avviso di errore.

Ad esempio, è possibile visualizzare un messaggio indicante lo scorrimento dei valori quando si inizia a scorrere la casella di scorrimento.

Viene visualizzata l'icona della casella dei messaggi

È possibile utilizzare i display delle icone delle finestre di messaggio che ritraggono il messaggio specifico. Hai più icone della finestra di messaggio adatte al tuo scopo:

  • Digita il codice seguente in ScrollBar1_scroll.
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message" 
MsgBox "It's an Error!", vbCritical, "Run time result" 
MsgBox "Why this value", vbQuestion, "Run time result" 
MsgBox "Value Been for a Long Time", vbInformation, "Run time result" 
MsgBox "Oh Is it so", vbExclamation, "Run time result"
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.
  • Trascina la casella di scorrimento.

Riceverai le seguenti finestre di messaggio in successione.

Progettazione di UserForm

Ora, hai una comprensione dei diversi controlli che puoi usare su un form utente. Seleziona i controlli, raggruppali se necessario e disponili su UserForm secondo una sequenza significativa. Scrivi le azioni richieste come codice corrispondente ai rispettivi controlli.

Fare riferimento al tutorial VBA in questa libreria tutorial per un esempio di UserForm.