Vba

Modulo utente

Userform

Aggiungi i controlli | Mostra il modulo utente | Assegna le macro | Prova il modulo utente





Questo capitolo ti insegna come creare un Modulo utente VBA di Excel . Il form utente che creeremo appare come segue:

Modulo utente VBA di Excel





Aggiungi i controlli

Per aggiungere i controlli al form utente, eseguire i passaggi seguenti.

1. Aprire il 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.

Configurazione dello schermo del form utente in Excel VBA

3. Aggiungere i controlli elencati nella tabella sottostante. 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 di testo facendo clic su TextBox dalla casella degli strumenti. Successivamente, puoi trascinare una casella di testo sul form utente. Quando arrivi al telaio dell'auto, ricorda di disegnare questo riquadro prima di posizionare i due pulsanti di opzione al suo interno.

4. Modificare i nomi e le didascalie dei controlli in base alla tabella seguente. I nomi vengono utilizzati nel codice VBA di Excel. Le didascalie sono quelle che appaiono sullo schermo. È buona norma modificare i nomi dei controlli. Questo renderà il tuo codice più facile da leggere. Per modificare i nomi e le didascalie dei controlli, fare clic su Visualizza, Finestra delle proprietà e fare clic su ciascun controllo.

Controllo Nome Didascalia
Modulo utente DinnerPlannerUserForm Organizzatore di cene
Casella di testo NameTextBox
Casella di testo Casella di testo del telefono
Casella di riepilogo CityListBox
Combo box CenaComboBox
Casella di controllo DateCheckBox1 13 giugno
Casella di controllo DataCheckBox2 20 giugno
Casella di controllo DataCheckBox3 27 giugno
Portafoto CarFrame Macchina
Pulsante di opzione TastoOpzioneAuto1
Pulsante di opzione TastoOpzioneAuto2 No
Casella di testo MoneyTextBox
Pulsante di rotazione MoneySpinButton
Pulsante di comando Pulsante OK ok
Pulsante di comando Pulsante Cancella Chiaro
Pulsante di comando Pulsante Annulla Annulla
7 etichette Non c'è bisogno di cambiare Nome:, Numero di telefono:, ecc.

Nota: una casella combinata è un elenco a discesa da cui un utente può selezionare un elemento o inserire la propria scelta. È possibile selezionare solo uno dei pulsanti di opzione.

Mostra il modulo utente

Per mostrare il modulo utente, posizionare a pulsante di comando sul foglio di lavoro e aggiungi la seguente riga di codice:

conta il numero di giorni in Excel
Privato SubCommandButton1_Click()

DinnerPlannerUserForm.Show

Fine Sub

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

1. Aprire il Editor di Visual Basic .

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

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

4. Aggiungi le seguenti righe di codice:

Privato SubUserForm_Initialize()

'Casella di testo con nome vuoto'
NameTextBox.Value = ''

'CasellaTelefono vuota'
PhoneTextBox.Value = ''

'Vuota CityListBox'
CityListBox.Clear

'Riempi CityListBox'
Insieme aCityListBox
.Aggiungi voce 'San Francisco'
.Aggiungi voce 'Oakland'
.Aggiungi voce 'Richmond'
Fine Insieme a

'ComboBox Cena Vuota'
DinnerComboBox.Clear

'Riempi cenaComboBox'
Insieme aCenaComboBox
.AddItem 'Italiano'
.AddItem 'Cinese'
.Aggiungi voce 'Patatine fritte e carne'
Fine Insieme a

'Deseleziona DataCheckBox

DateCheckBox1.Value =falso
DateCheckBox2.Value =falso
DateCheckBox3.Value =falso

'Imposta nessuna macchina come predefinita
CarOptionButton2.Value =Vero

'Svuota MoneyTextBox
MoneyTextBox.Value = ''

'Imposta il focus su NameTextBox
NameTextBox.SetFocus

Fine Sub

Spiegazione: le caselle di testo vengono svuotate, le caselle di riepilogo e le caselle combinate vengono riempite, le caselle di controllo non sono selezionate, ecc.

Assegna le macro

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.

1. Aprire il Editor di Visual Basic .

cos'è una funzione di ricerca in Excel

2. In Esplora progetti, fare doppio clic su DinnerPlannerUserForm.

3. Fare doppio clic sul pulsante Gira soldi.

4. Aggiungi la seguente riga di codice:

Privato SubMoneySpinButton_Change()

MoneyTextBox.Text = MoneySpinButton.Value

Fine Sub

Spiegazione: questa riga di codice aggiorna la casella di testo quando si utilizza il pulsante di selezione.

5. Fare doppio clic sul pulsante OK.

6. Aggiungi le seguenti righe di codice:

Privato SubOKButton_Click()

Nessunoriga vuotaCome Lungo

'Rendi Foglio1 attivo
Foglio1.Attiva

'Determina riga vuota
emptyRow = WorksheetFunction.CountA(Range('A:A')) + 1

'Informazioni sul trasferimento'
Cells(emptyRow, 1).Value = NameTextBox.Value
Cells(emptyRow, 2).Value = PhoneTextBox.Value
Cells(emptyRow, 3).Value = CityListBox.Value
Cells(emptyRow, 4).Value = DinnerComboBox.Value

SeDateCheckBox1.Value =Vero QuindiCells(emptyRow, 5).Value = DateCheckBox1.Caption

SeDateCheckBox2.Value =Vero QuindiCells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & ' ' & DateCheckBox2.Caption

SeDateCheckBox3.Value =Vero QuindiCells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & ' ' & DateCheckBox3.Caption

SeCarOptionButton1.Value =Vero Quindi
Cells(emptyRow, 6).Value = 'Sì'
Altro
Cells(emptyRow, 6).Value = 'No'
Fine Se

Cells(emptyRow, 7).Value = MoneyTextBox.Value

Fine Sub

Spiegazione: prima attiviamo Sheet1. Successivamente, determiniamo emptyRow. La variabile emptyRow è la prima riga vuota e aumenta ogni volta che viene aggiunto un record. Infine, trasferiamo le informazioni dallo Userform alle colonne specifiche di emptyRow.

7. Fare doppio clic sul pulsante Cancella.

8. Aggiungi la seguente riga di codice:

Privato SubClearButton_Click()

ChiamataUserForm_Initialize

Fine Sub

Spiegazione: questa riga di codice chiama Sub UserForm_Initialize quando si fa clic sul pulsante Clear.

9. Fare doppio clic sul pulsante Annulla.

10. Aggiungi la seguente riga di codice:

Privato SubCancelButton_Click()

Scaricami

Fine Sub

Spiegazione: questa riga di codice chiude il modulo utente quando si fa clic sul pulsante Annulla.

Prova il modulo utente

Uscire dall'editor di Visual Basic, immettere le etichette mostrate di seguito nella riga 1 e testare il form utente.

Risultato:

Prova il modulo utente

1/11 Completato! Scopri di più sui moduli utente >
Vai al capitolo successivo: Gamma



^