Visual Basic è un linguaggio eccellente per automatizzare le attività ripetitive in Excel. Immagina di portare la tua automazione a un livello superiore creando moduli utente altamente funzionali che sembrano ordinati anche per gli utenti finali.

I moduli utente in VBA ti presentano una tela bianca; puoi progettare e organizzare i moduli in base alle tue esigenze in qualsiasi momento.

In questa guida imparerai a creare un modulo di immissione dati basato sugli studenti che acquisisca informazioni rilevanti in fogli Excel collegati.

Creazione di un modulo utente con Excel VBA

Aprire una nuova cartella di lavoro di Excel ed eseguire alcuni passaggi preliminari prima di iniziare a creare il modulo di immissione dati.

Salva la tua cartella di lavoro con il nome desiderato; non dimenticare di cambiare il tipo di file in un Cartella di lavoro con abilitazione macro di Excel.

Imparentato:Siti Web e blog per apprendere suggerimenti e trucchi su Excel

Aggiungi due fogli a questa cartella di lavoro, con i seguenti nomi:

instagram viewer
  1. Foglio1: Casa
  2. Foglio2:Banca dati studenti

Sentiti libero di cambiare questi nomi secondo le tue esigenze.

Nel Casa foglio, aggiungere un pulsante per controllare la macro del modulo utente. Vai al Sviluppatore scheda e fare clic su Pulsante opzione dal Inserire menu `A tendina. Posiziona il pulsante in un punto qualsiasi del foglio.

Dopo aver posizionato il pulsante, rinominalo. Fare clic destro su di esso e fare clic su Nuovo per assegnare una nuova macro per mostrare il form.

Immettere il seguente codice nella finestra dell'editor:

Pulsante secondario1_Click()
Modulo utente. Spettacolo
Fine Sub

Una volta che il Casa e Database degli studenti i fogli sono pronti, è ora di progettare il modulo utente. Passa a Sviluppatore scheda e fare clic su Visual Basic per aprire l'editor. In alternativa, puoi premere ALT+F11 per aprire la finestra dell'editor.

Clicca sul Inserire scheda e seleziona Modulo utente.

Un modulo utente vuoto è pronto per l'uso; una cassetta degli attrezzi di accompagnamento si apre insieme al modulo, che contiene tutti gli strumenti essenziali per progettare il layout.

Dalla casella degli strumenti, selezionare il Telaio opzione. Trascinalo nel modulo utente e ridimensionalo.

Nel (nome) opzione, è possibile modificare il nome della cornice. Per mostrare il nome sul front-end, puoi cambiare il nome nel file Didascalia colonna.

Quindi, seleziona il Etichetta opzione dalla casella degli strumenti e inserire due etichette all'interno di questo riquadro. Rinomina il primo come Numero di applicazione e il secondo come ID studente.

Si applica la stessa logica di ridenominazione; cambiare i nomi tramite il Didascalia opzione all'interno del Proprietà finestra. Assicurati di selezionare la rispettiva etichetta prima di cambiarne il nome.

Quindi, inserisci due caselle di testo accanto alle caselle dell'etichetta. Questi verranno utilizzati per acquisire gli input dell'utente. Modificare i nomi di due caselle di testo tramite il (Nome) colonna all'interno del Proprietà finestra. I nomi sono i seguenti:

  • Casella di testo1: txtApplicazione n
  • Casella di testo2: txtID studente

Progettazione della cornice dei dettagli dello studente

Inserisci una cornice verticale e aggiungi 10 etichette e 10 caselle di testo. Rinomina ciascuno di essi nel modo seguente:

  • Etichetta3: Nome
  • Etichetta4: Età
  • Etichetta5: Indirizzo
  • Etichetta6: Telefono
  • Etichetta7: Città
  • Etichetta8: Paese
  • Etichetta9: Data di nascita
  • Etichetta 10: Cap
  • Etichetta11: Nazionalità
  • Etichetta12: Genere

Inserisci le caselle di testo corrispondenti accanto a queste etichette; inserisci due (o più) pulsante opzione caselle dalla casella degli strumenti del modulo utente accanto a Genere etichetta. Rinominali Maschio e Femmina (insieme a Personalizzato), rispettivamente.

Progettazione del riquadro dei dettagli del corso

Aggiungi un'altra cornice verticale e inserisci sei etichette e sei caselle di testo corrispondenti a ciascuna etichetta. Rinominare le etichette come segue:

  • Etichetta13: Nome del corso
  • Etichetta14: ID corso
  • Etichetta15: Data di inizio iscrizione
  • Etichetta16: Data di fine iscrizione
  • Etichetta17: Durata del corso
  • Etichetta18: Dipartimento

Imparentato: 4 errori da evitare durante la programmazione di macro di Excel con VBA

Progettazione del riquadro dei dettagli di pagamento

Inserisci una nuova cornice; aggiungi una nuova etichetta e rinominala "Vuoi aggiornare i dettagli del pagamento?" Inseriscine due pulsanti di opzione; rinominarli e No.

Allo stesso modo, aggiungi una nuova cornice contenente due etichette aggiuntive e due caselle combinate. Rinominare le etichette come segue:

  • Etichetta19: Pagamento ricevuto
  • Etichetta20: Modalità di pagamento

Progettazione del riquadro di spostamento

Nella cornice finale, aggiungi tre pulsanti dalla casella degli strumenti, che conterranno il codice per l'esecuzione dei moduli.

Rinominare i pulsanti nel modo seguente:

  • Pulsante1: Salva dettagli
  • Pulsante2: Forma chiara
  • Pulsante 3: Uscita

Scrittura del codice del modulo automatizzato: pulsante Salva dettagli

Fare doppio clic su Salva dettagli pulsante. Nel modulo successivo, inserisci il seguente codice:

Comando secondario privato CommandButton2_Click()

‘dichiarare le variabili utilizzate nei codici
Dim sht As Worksheet, sht1 As Worksheet, lastrow As Long

'Aggiungi convalide per verificare se i valori dei caratteri vengono inseriti nei campi numerici.
Se VBA.IsNumeric (txtApplicationNo. Value) = False allora
MsgBox "Sono accettati solo valori numerici nel numero dell'applicazione", vbCritical
Esci Sub
Finisci se

Se VBA.IsNumeric (txtStudentID.Value) = False allora
MsgBox "Sono accettati solo valori numerici nell'ID studente", vbCritical
Esci Sub
Finisci se

Se VBA.IsNumeric (txtAge. Valore) = Falso Allora
MsgBox "In Age vengono accettati solo valori numerici", vbCritical
Esci Sub
Finisci se

Se VBA.IsNumeric (txtPhone. Valore) = Falso Allora
MsgBox "In numero di telefono sono accettati solo valori numerici", vbCritical
Esci Sub
Finisci se

Se VBA.IsNumeric (Me.txtCourseID.Value) = False allora
MsgBox "In Course ID vengono accettati solo valori numerici", vbCritical
Esci Sub
Finisci se

'collega i campi della casella di testo con i fogli sottostanti per creare un database scorrevole
Imposta sht = Questa cartella di lavoro. Fogli("Database studenti")

'calcola l'ultima riga popolata in entrambi i fogli

ultima riga = sht. Intervallo ("a" & Righe. Conteggio).Fine (xlSu).Riga + 1

'incolla i valori di ciascuna casella di testo nelle rispettive celle del foglio

Con merda
.Range("a" & lastrow).Value = txtApplicationNo. Valore
.Range("b" & ultima riga).Valore = txtIDStudente.Valore
.Range("c" & ultima riga).Valore = txtNome. Valore
.Range("d" & ultima riga).Valore = txtEtà. Valore
.Range("e" & ultima riga).Valore = txtDOB.Valore
.Range("g" & lastrow).Value = txtAddress. Valore
.Range("h" & ultima riga).Valore = txtTelefono. Valore
.Range("i" & lastrow).Value = txtCity. Valore
.Range("j" & ultima riga).Valore = txtPaese. Valore
.Range("k" & lastrow).Valore = txtZip. Valore
.Range("l" & lastrow).Valore = txtNazionalità. Valore
.Range("m" & ultima riga).Valore = txtCorso. Valore
.Range("n" & ultima riga).Valore = txtIDCorso.Valore
.Range("o" & lastrow).Value = txtenrollmentstart. Valore
.Range("p" & lastrow).Value = txtenrollmentend. Valore
.Range("q" & lastrow).Value = txtcourseduration. Valore
.Range("r" & lastrow).Valore = txtDept. Valore

Termina con
merda Attivare

'determinare il sesso secondo l'input dell'utente
Se optMale. Valore = Vero Quindi sht. Intervallo("g" & ultima riga).Valore = "Maschio"
Se optFemale. Valore = Vero Quindi sht. Intervallo("g" & ultima riga).Valore = "Femmina"
'Visualizza una finestra di messaggio, nel caso in cui l'utente selezioni il pulsante di opzione Sì

Se optSì. Valore = Vero Allora
MsgBox "Seleziona i dettagli di pagamento di seguito"
Altro:
Esci Sub

Finisci se

Fine Sub

Se non sei sicuro di cosa significhino parti o qualsiasi parte del codice, non preoccuparti. Lo spiegheremo a fondo nella prossima sezione.

Spiegazione del codice del modulo automatizzato

Le caselle di testo conterranno un mix di testo e valori numerici, quindi è essenziale limitare l'input dell'utente. Il Numero di applicazione, ID studente, Età, Telefono, ID corso, e Durata del corso dovrebbe contenere solo numeri, mentre il resto conterrà testo.

Utilizzando un SE istruzione, il codice attiva popup di errore se l'utente immette un carattere o un valore di testo in uno qualsiasi dei campi numerici.

Poiché le convalide degli errori sono in atto, è necessario collegare le caselle di testo alle celle del foglio.

Il ultima riga le variabili calcoleranno l'ultima riga popolata e memorizzeranno i valori in esse per un uso dinamico.

Infine, i valori vengono incollati dalle caselle di testo nel foglio Excel collegato.

Cancella i codici dei moduli e dei pulsanti di uscita

Nel chiaro pulsante, è necessario scrivere il codice per cancellare i valori esistenti dal modulo utente. Questo può essere fatto nel modo seguente:

con Me
.txtApplicazione n. Valore = ""
.txtIDStudente.Valore = ""
..txtNome. Valore = ""
.txtEtà. Valore = ""
.txtIndirizzo. Valore = ""
.txt Telefono. Valore = ""
.txtCittà. Valore = ""
.txt Paese. Valore = ""
.txtDOB.Value = ""
.txtZip. Valore = ""
.txtNazionalità. Valore = ""
.txtCorso. Valore = ""
.txtCourseID.Value = ""
.txtinizio registrazione. Valore = ""
.txtregistrazionend. Valore = ""
.txtdurata del corso. Valore = ""
.txtDipartimento Valore = ""
.cmbModalitàPagamento. Valore = ""
.cmbPagamento. Valore = ""
.optFemmina. Valore = Falso
.optMaschio. Valore = Falso
.optSì. Valore = Falso
.optNo. Valore = Falso

Termina con

Nel Uscita, inserire il seguente codice per chiudere il form utente.

CommandButton secondario privato5_Click()
Scaricami
Fine Sub

Come ultimo passaggio, devi inserire alcune parti finali di codice per creare i valori a discesa per le caselle combinate (all'interno dei frame di pagamento).

Private Sub UserForm_Activate()

Con pagamento cmb
.Chiaro
.Aggiungi articolo ""
.Aggiungi elemento "Sì"
.Aggiungi elemento "No"
Termina con
Con modalità di pagamento cmb

.Chiaro
.Aggiungi articolo ""
.Aggiungi voce "Contanti"
.Aggiungi voce "Carta"
.Aggiungi elemento "Verifica"
Termina con
Fine Sub

L'automazione VBA semplifica il lavoro

VBA è un linguaggio sfaccettato che serve a molti scopi. I moduli utente sono solo un aspetto all'interno di VBA: ci sono molti altri usi come il consolidamento di cartelle di lavoro e fogli di lavoro, l'unione di più fogli Excel e altri utili usi di automazione.

Indipendentemente dall'obiettivo di automazione, VBA è all'altezza del compito. Se continui ad imparare e ad esercitarti, non c'è nessun aspetto del tuo flusso di lavoro che non puoi migliorare.

Come unire più fogli Excel utilizzando una macro VBA

L'unione di dati da più di un foglio Excel nella stessa cartella di lavoro è una vera seccatura... finché non usi le macro VBA.

Leggi Avanti

CondividereTwittaE-mail
Argomenti correlati
  • Programmazione
  • Produttività
  • Programmazione Visual Basic
  • Microsoft Excel
Circa l'autore
Gaurav Siyal (50 articoli pubblicati)

Gaurav Siyal ha due anni di esperienza di scrittura, scrivendo per una serie di società di marketing digitale e documenti sul ciclo di vita del software.

Altro da Gaurav Siyal

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti