Casella combinata a più colonne VBA di Excel - Macro semplici di Excel

Sommario

Di seguito vedremo un programma in Excel VBA che crea un form utente che contiene a casella combinata a più colonne.

Il form utente che creeremo appare come segue:

Per creare questo modulo utente, eseguire i seguenti passaggi.

1. Aprire l'editor di Visual Basic. Se l'Esplora progetti non è visibile, fare clic su Visualizza, Esplora progetti.

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

3. Aggiungere l'etichetta, la casella combinata ei pulsanti di comando. Una volta che questo è stato completato, il risultato dovrebbe essere coerente con l'immagine del modulo utente mostrato in precedenza. Ad esempio, creare un controllo casella combinata facendo clic su ComboBox dalla casella degli strumenti. Successivamente, puoi trascinare una casella combinata sul form utente.

4. È possibile modificare i nomi e le didascalie dei controlli. I nomi vengono utilizzati nel codice VBA di Excel. Le didascalie sono quelle che appaiono sullo schermo. È buona norma cambiare i nomi dei controlli, ma non è necessario qui perché in questo esempio abbiamo solo pochi controlli. Per modificare la didascalia dei pulsanti Userform, etichetta e comando, fare clic su Visualizza, Finestra Proprietà e fare clic su ciascun controllo.

5. Per mostrare il form utente, posiziona un pulsante di comando sul foglio di lavoro e aggiungi la seguente riga di codice:

Sub CommandButton1_Click privato ()
UserForm1.Show
Fine sottotitolo

Ora creeremo il Sub UserForm_Initialize. Quando si utilizza il metodo Show per il form utente, questo sottotitolo verrà eseguito automaticamente.

6. Aprire l'editor di Visual Basic.

7. In Esplora progetti, fare clic con il pulsante destro del mouse su UserForm1 e quindi fare clic su Visualizza codice.

8. Scegliere Modulo utente dall'elenco a discesa a sinistra. Scegli Inizializza dall'elenco a discesa a destra.

9. Aggiungi le seguenti righe di codice:

Private Sub UserForm_Initialize()
ComboBox1.ColumnCount = 2
Dim Film (da 1 a 5, da 1 a 2) come stringa
Dim i As Integer, j As Integer
Film(1, 1) = "Il Signore degli Anelli"
Film(2, 1) = "Velocità"
Film (3, 1) = "Guerre stellari"
Film(4, 1) = "Il Padrino"
Film(5, 1) = "Pulp Fiction"
Film(1, 2) = "Avventura"
Film(2, 2) = "Azione"
Film (3, 2) = "Fantascienza"
Film(4, 2) = "Crimine"
Film(5, 2) = "Dramma"
ComboBox1.List = Film
Fine sottotitolo

Spiegazione: La prima riga di codice imposta il numero di colonne della casella combinata su 2. Invece di impostare il numero di colonne in fase di esecuzione, è anche possibile configurare questa impostazione in fase di progettazione. Per ottenere ciò, fare clic con il pulsante destro del mouse sul controllo della casella combinata, fare clic su Proprietà e impostare la proprietà ColumnCount su 2. Successivamente, dichiariamo e inizializziamo un array bidimensionale. L'ultima riga di codice assegna l'array alla casella combinata.

Ora abbiamo creato la prima parte dell'Userform. Sebbene sembri già pulito, non accadrà ancora nulla quando faremo clic sui pulsanti di comando sul form utente.

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

11. Fare doppio clic sul pulsante OK.

12. Aggiungi le seguenti righe di codice:

Sub CommandButton1_Click privato ()
Scaricami
MsgBox "Hai selezionato " & ComboBox1.Value
In caso di errore Riprendi Avanti
MsgBox "Ti piace " & ComboBox1.Column(1) & " film"
Fine sottotitolo

Nota: queste righe di codice chiudono il modulo utente VBA di Excel e visualizzano l'elemento e il genere selezionati. L'istruzione 'On Error Resume Next' ignora l'errore quando l'utente inserisce il proprio film (in questo caso non è disponibile alcun genere).

13. Fare doppio clic sul pulsante Annulla.

14. Aggiungi la seguente riga di codice:

Sottocomando privato CommandButton2_Click()
Scaricami
Fine sottotitolo

Risultato quando si seleziona Velocità e si fa clic su OK.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave