Vuoi creare una UserForm Excel che ti permetta di calcolare la media di tre valori inseriti su delle caselle di testo e successivamente scriva il risultato su una cella?
In questo articolo ti mostrerò come creare una maschera inserimento dati Excel attraverso uno degli esempi più ricercati: il calcolo della media.
Maschera Excel per inserimento dati
In un precedente articolo ti ho mostrato come creare maschere Excel per inserimento dati senza difficoltà.
Ora voglio proporti una variante per il calcolo della media.
Innanzitutto, inseriremo all'interno della UserForm tre caselle di testo (TextBox) e un pulsante (CommandButton).

Successivamente assoceremo al pulsante un codice VBA che permetta di calcolare la media e la scriva su una cella. Non una cella fissa ma la cella attiva. Infine faremo in modo che i dati inseriti nella maschera Excel (UserForm) vengano cancellati per poter procedere ad un successivo inserimento.
Se vuoi saperne di più sulle maschere Excel allora leggi i seguenti articoli:
- Maschere Excel: UserForm e pulsanti
- ListBox VBA Excel: casella di riepilogo
- ComboBox Excel VBA: uso casella combinata
- Pulsante di opzione VBA in UserForm Excel
UserForm per inserimento dati Excel: il codice VBA per il calcolo della media
Vediamo ora come procedere alla scrittura del codice VBA passo dopo passo.
Fai doppio clic sul pulsante Excel (Command Button).

A questo punto andremo a scrivere il codice associato all’evento clic del pulsante. Ciò significa che ogni volta che l’utente farà un clic sul Command Button sarà eseguito il codice VBA associato.
Il primo passo è la dichiarazione della variabile. Il nome della variabile sarà Media. Mentre il tipo di variabile sarà Single ovvero consentirà di memorizzare valori numerici che possono assumere forma decimale. Inoltre, potrà contenere anche numeri interi.

Successivamente assegniamo alla variabile Media il suo contenuto. Questa variabile dovrà contenere il risultato del calcolo della media.
Per calcolare la media con il linguaggio VBA utilizzeremo la seguente funzione:

All’interno della funzione Average VBA inseriremo gli argomenti che saranno il contenuto delle tre caselle di testo (TextBox) presenti nella UserForm Excel.
Ora andiamo a definire la cella in cui dovrà essere inserito il risultato del calcolo della media.

Il codice precedente dirà ad Excel di inserire il risultato della media nella cella attiva. La cella attiva sarà quella che l’utente selezionerà.
Infine, cancelliamo il contenuto delle tre caselle di testo.

Il risultato finale sarà il seguente:

Possiamo personalizzare la scritta presente sul Command Button inserendo il testo “Calcola” all’interno della proprietà Caption.

Ora non ci resta che inserire i numeri all’interno delle tre caselle di testo (TextBox) e premere il pulsante (Command Button) per calcolare la media e inserire il risultato nella cella attiva.

Spero l’articolo ti sia utile. Se ti va lascia pure un commento.
Buon lavoro!
Potrebbero interessarti anche i seguenti articoli:
Vuoi imparare a utilizzare il linguaggio Excel VBA?
Basta con i lavori noiosi e ripetitivi! Grazie al VBA puoi far lavorare Excel al tuo posto!
Ho registrato per te un corso interamente dedicato alle Macro e al VBA.
Attraverso degli esempi pratici, ti introdurrò, al mondo delle Macro di Excel illustrandoti tutto il potenziale per automatizzare le tue attività di lavoro quotidiane.
Cosa aspetti?
Sfrutta tutto il potenziale di Excel con il corso Macro e VBA!
Salve Damiano,
Ti ringrazio per il tempo dedicatomi, devo dire che la tua spiegazione(istruzioni) è stata, come sempre, chiare ed esaudiente. 😉 . Ho provato la sequenza, quindi il programma, modificando è apportando alcune modifiche, arrivando perfettamente allo scopo.
Se posso, vorrei chiederti un’ultima cosa. Dovrei inserire nella maschera, anche la data è l’ora all’inserimento del valore e farlo in modo “veloce”, senza dover mettere i soliti (:) punti per le ore e la(/) per le date, naturalmente ogni dato inserito (textbox) avrà nelle celle precedenti la data e l’ora. E possibile inserire questi simboli nella caselle di testo (data e ora)? : /
Ti ringrazio
Ciao Claudio,
ancora grazie;)
Per inserire la data e l'ora "velocemente" puoi utilizzare i seguenti codici.
Il primo per posizionare la data e l'ora nella colonna a destra rispetto alla cella attiva.
ActiveCell.Offset(0, 1).Value = Now
Il secondo per posizionare la data e l'ora nella colonna a sinistra rispetto alla cella attiva.
ActiveCell.Offset(0, -1).Value = Now
Spero di aver ben capito la tua richiesta.
Un caro saluto
GRAZIE mille Damiano 🙂