VBA TextBox

Casella di testo VBA di Excel

La casella di testo è semplicemente come una casella che viene utilizzata per ottenere input da un utente, le caselle di testo fanno parte dei moduli utente e nella scheda sviluppatore in qualsiasi foglio di lavoro Excel, Se vogliamo creare caselle di testo in un modulo utente possiamo selezionare l'opzione casella di testo dai controlli del modulo utente in VBA o nel foglio di lavoro possiamo selezionarlo dalla scheda di progettazione.

VBA TextBox è uno dei controlli dei numerosi controlli del modulo utente. Visualizzando la casella di testo sul modulo utente possiamo chiedere loro di inserire i dati nella casella di testo ei dati inseriti dall'utente possono essere memorizzati nel foglio di lavoro con semplici codici.

I moduli utente sono molto interessanti nella codifica VBA. Ci aiuta immensamente soprattutto quando abbiamo bisogno di ricevere input dagli utenti. Con i moduli utente, abbiamo molti controlli e per ottenere il valore di input dagli utenti "Casella di testo" è l'opzione ideale in un modulo utente. Inserendo una casella di testo nel modulo utente possiamo effettivamente dire all'utente di inserire il valore richiesto nella casella di testo che stiamo visualizzando. Se non hai idea delle caselle di testo VBA, questo articolo farà un tour delle caselle di testo VBA.

Come inserire TextBox in UserForm VBA?

Puoi scaricare questo modello di casella di testo VBA qui - Modello casella di testo VBA

Per inserire prima una casella di testo, dobbiamo inserire il modulo utente. Per inserire il modulo utente vai su Inserisci> Modulo utente.

Non appena fai clic su Modulo utente, il modulo utente verrà visualizzato proprio come un altro modulo.

Fare clic su Modulo utente per visualizzare i controlli del modulo utente.

Da questa casella degli strumenti Controlli selezionare "TextBox" e trascinare sul modulo utente.

Con questo, possiamo vedere molte proprietà associate a questa casella di testo.

Proprietà TextBox

Premere il tasto F4 per visualizzare le proprietà della casella di testo.

Come possiamo vedere la casella di testo ha nome, colore, bordo come questo molti. Ora dai un nome proprio in modo che possiamo facilmente fare riferimento a questa casella di testo durante la codifica.

Esempio per utilizzare TextBox in Userform

Condurremo uno dei progetti con testo VBA. Creeremo un modulo utente per l'inserimento dei dati per memorizzare i dettagli dei dipendenti.

Passaggio 1: nel modulo utente disegnare l'etichetta.

Passaggio 2: modifica il testo predefinito dell'etichetta in "Nome dipendente".

Passaggio 3: davanti all'etichetta disegnare una casella di testo.

Passaggio 4: assegnare un nome appropriato alla casella di testo come "EmpNameTextBox".

Passaggio 5: ora disegna un'altra etichetta sotto la prima etichetta e inserisci il testo come "ID dipendente".

Passaggio 6: davanti alla seconda etichetta, disegnare un'altra casella di testo e denominarla "EmpIDTextBox".

Passaggio 7: Disegna un'altra etichetta e inserisci il testo come "Salario".

Passaggio 8: Disegna un'altra casella di testo davanti all'etichetta "Salary" e chiamala "SalaryTextBox".

Passaggio 9: ora inserire il "pulsante di comando" dalla casella degli strumenti.

Passaggio 10: modificare il testo del pulsante di comando in "Invia".

Ok, abbiamo finito con la parte di progettazione del modulo utente. Ora dobbiamo scrivere il codice per memorizzare i dati inseriti in questo modulo utente. A partire da ora esegui il modulo utente premendo il tasto F5 dovremmo vedere un modulo utente come questo.

Passaggio 11: modificare la didascalia del modulo utente nella finestra Proprietà.

Passaggio 12: ora fai doppio clic sul pulsante di comando Invia. Non appena fai doppio clic vedrai questa procedura secondaria automatica come quella di seguito.

Questo è quando fai clic sul pulsante Invia cosa dovrebbe accadere. Dobbiamo menzionare le attività nel codice VBA. In questo progetto, il nostro obiettivo è memorizzare i dati inseriti nella casella di testo non appena clicchiamo sul pulsante Invia.

Per prima cosa creare un modello come questo nel foglio di lavoro denominato "Foglio dipendenti".

Passaggio 13: ora torna all'editor di visual basic. All'interno del pulsante fare clic sulla subroutine in VBA determinare prima l'ultima riga utilizzata utilizzando il codice seguente.

Codice:

 Private Sub CommandButton1_Click () Dim LR As Long LR = Worksheets ("Employee Sheet"). Cell (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub 

Passaggio 14: la prima cosa è che nella prima colonna memorizzeremo il nome del dipendente. Quindi, per questo, dobbiamo accedere alla casella di testo denominata "EmpNameTextBox".

Codice:

 Private Sub CommandButton1_Click () Dim LR As Long LR = Worksheets ("Employee Sheet"). Cell (Rows.Count, 1) .End (xlUp) .Row + 1 Ramge ("A" & LR) .Value = EmpNameTextBox.Value End Sub 

Passaggio 15: nella seconda colonna dobbiamo memorizzare l'ID dipendente. Quindi questo sarà ottenuto accedendo alla casella di testo denominata “EmpIDTextBox”.

Codice:

 Private Sub CommandButton1_Click () Dim LR As Long LR = Worksheets ("Employee Sheet"). Cell (Rows.Count, 1) .End (xlUp) .Row + 1 Ramge ("A" & LR) .Value = EmpNameTextBox.Value Ramge ("B" & LR) .Value = EmpIDTextBox.Value End Sub 

Passaggio 16: Finalmente dobbiamo memorizzare la parte dello stipendio, per questo, dobbiamo accedere alla casella di testo denominata "SalaryTextBox".

Codice:

 Private Sub CommandButton1_Click () Dim LR As Long LR = Worksheets ("Employee Sheet"). Cell (Rows.Count, 1) .End (xlUp) .Row + 1 Ramge ("A" & LR) .Value = EmpNameTextBox.Value Ramge ("B" & LR) .Value = EmpIDTextBox.Value Range ("C" & LR) .Value = SalaryTextBox.Value End Sub 

Ok, abbiamo finito anche con la parte di codifica. Ora esegui il codice usando il tasto F5 dovremmo vedere un modulo utente come il seguente.

As of now, all the boxes are empty.

Fill the details first.

Now click on the “Submit” button, it will store the data to the worksheet.

Like this, you can keep entering the data and hit and submit button. This is the simple data entry user form with a text box.