/ / Raccolta di controlli VBA di Excel

Raccolta di controlli VBA di Excel

Durante la creazione di Userform in Excel VBA, puoi usare il Collezione di controlli per scorrere facilmente i controlli e impostare una proprietà di ciascun controllo su un valore specifico.

L'Userform che stiamo per creare appare come segue:

Collezione di controlli in VBA di Excel

Per creare questo Userform, eseguire i seguenti passaggi:

1. Aprire il Visual Basic Editor. Se Project Explorer non è visibile, fai clic su Visualizza, Esplora progetti.

2. Fare clic su Inserisci, Userform. Se la casella degli strumenti non viene visualizzata automaticamente, fare clic su Visualizza, Casella degli strumenti. Lo schermo dovrebbe essere impostato come di seguito.

Impostazione della schermata Userform in Excel VBA

3. Aggiungi l'etichetta, le caselle di testo (prima nella parte superiore, la seconda sotto la prima e così via) e il pulsante di comando. Una volta che questo è stato completato, il risultato dovrebbe essere coerente con l'immagine della forma utente mostrata in precedenza. Ad esempio, creare un controllo casella di testo facendo clic su TextBox dalla casella degli strumenti. Successivamente, puoi trascinare una casella di testo sul modulo utente.

4. Per modificare la didascalia del modulo Userform, etichetta e comando, fare clic su Visualizza, Finestra Proprietà e fare clic su ciascun controllo.

5. Per visualizzare Userform, posizionare un pulsante di comando nel foglio di lavoro e aggiungere la seguente riga di codice:

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

Spiegazione: aggiungendo vbModeless, puoi usare Userform e lavorare nel tuo foglio di lavoro contemporaneamente.

Ora abbiamo creato la prima parte di Userform. Anche se sembra già pulito, non accadrà ancora nulla quando clicchiamo sul pulsante di comando su Userform.

6. Aprire il Visual Basic Editor.

7. Nell'Esplora progetti, fare doppio clic su UserForm1.

8. Fare doppio clic sul pulsante di comando.

9. Aggiungi le seguenti linee di codice:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10
    Controls("TextBox" & i).Value = Cells(i + 1, 1).Value
Next i

End Sub

Spiegazione: Con solo poche righe di codice, possiamo riempire le caselle di testo con i numeri di telefono dal foglio. Abbiamo usato l'operatore & per concatenare (unire) gli elementi. Queste linee di codice funzionano perché non abbiamo modificato i nomi dei controlli della casella di testo (TextBox1, TextBox2, TextBox3, ecc.) Per modificare i nomi dei controlli, fare clic su Visualizza, Finestra Proprietà e fare clic su ciascun controllo.

Risultato quando si fa clic sul pulsante di comando sul foglio:

Risultato della raccolta dei controlli

Leggi anche: