You are here:--Come creare una UserForm #04 – TextBox

Come creare una UserForm #04 – TextBox

Ciao questa volta parliamo del TextBox uno degli elementi più usato nelle Userform, infatti diciamo che è l’elemento di interfaccia tra l’utente ed Excel per quanto riguarda le Userform.

Per inserire un Textbox nella Userform partiamo sempre dalla casella degli strumenti, l’icona rappresentata dall’icona “ab|” come si vede nell’immagine

Cliccando sull’icona viene selezionata e possiamo inserirla nella nostra Userform, scegliendo la posizione più adatta, come specificato nell’articolo Come creare una UserForm #03 – Label, facendo DoppioClick sull’icona possono essere inserite più TextBox di seguito, ripetendo il DoppioClick si annulla l’inserimento continuato.

Come ogni Oggetto della Userform anche la TextBox ha le sue Proprietà, questa un immagine delle proprietà relative alla TextBox.

Come si può notare ho cerchiato quelle che secondo il mio parere sono le proprietà che maggiormente vengono modificate, o sono più interessanti.

Una NOTA, per non stare a modificare ogni singola TextBox, quando inserite la prima Textbox effettuate le impostazioni che volete dare alla vostra Textbox, in questo modo tutte le successive che inserirete avranno la stessa impostazione.

Cerchiamo di guardare singolarmente le varie Proprietà:

  1. Backcolor: permette di impostare lo sfondo della Textbox
  2. ControlTipText: consente che una volta selezionato il TextBox esca un messaggio di avviso
  3. Font-ForeColor: permette di impostare il font del Carattere, la dimensione ed il Colore che volete dare alla scrittura nel TextBox
  4. PasswordChar: quando vogliamo usare la Textbox per le Password è bene non far visualizzare la Pw che stiamo inserendo, quindi inserendo ad esempio “*” tutti i caratteri che inseriremo nella TextBox avranno tale formato, risultando non visibile.
  5. SpecialEffect: ci sono speciali effetti di visualizzazione per la TextBox, di default e su “Sunken” un poco “Soprelevata”, ma ad esempio “Flat” sembra una normale cella di Excel, fate le prove è scegliete quella che più si adatta allo scopo.
  6. TextAlign: serve per l’allineamento del testo nella TextBox, di default è a Sx.
  7. Multiline: appena sopra “PasswordChar” non l’ho segnata in quanto poco usata, ma serve a far scrivere su più linee il testo inserito nelle TextBox.

Che altro dire sulla Textbox, se non che ogni dato che viene inserito viene trasformato in una “Stringa” cioè Testo, e su questo, scriviamo di seguito un poco di informazioni.

Ci sono 2 aspetti da considerare, quello che si vede a Video e quello che effettivamente viene scritto nella TextBox, come ho scritto prima tutto quello che viene inserito nel TextBox viene trasformato in Testo come appunto la parola “Text” specifica.

Adesso per una maggiore visibilità dei dati inseriti, con il VBA viene modificato l’aspetto, ma non la sostanza che rimane Testo, nel TextBox, ammettendo che vogliamo visualizzare dei numeri in un Textbox, se li scriviamo normalmente avremo un risultato del genere

che come si vede non ha certamente un bell’aspetto, allineato a Sx senza nessuna indicazione di migliaia o centinaia, a questo punto intervenendo con il VBA, scrivendo una Routine(Macro) per l’evento “AfterUpdate” del TextBox1, un esempio

 

 

Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, “#,###,#00”)
End Sub

la visualizzazione diventerà diversa come da esempio

come si può notare l’aspetto è completamente cambiato, numeri allineati a Dx perche sono anche intervenuto nella Proprieta TextAlign impostandola a destra, e si vedono anche la separazione delle migliaia e centinaia.

Ma ciò non toglie che i numeri inseriti sono Testo cambia solo l’aspetto.

questi sono numeri interi per numeri con decimali bisogna correggere la Routine prevedendo l’inserimento dei decimali, che diventerà:

Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, “#,###,#00.00”)
End Sub

Da Notare che il VBA avendo la scrittura in Inglese sono sostituiti i Punti con le Virgole e Viceversa per avere una notazione Italiana, questo il risultato.

Succede spesso che quando vengono trasferiti i dati dall’Userform al Foglio Excel, moltissime persone dicono che poi le formule non funzionano, questo perche non sono stati adeguatamente convertiti i dati dal TextBox al foglio Excel

Alcuni esempi: ho premuto il pulsante “CommandButton1”, con questa Routine:

Private Sub CommandButton1_Click()
Cells(1, 1) = TextBox1
End Sub

Come si nota anche se è stato riportato con la separazione delle migliaia e decimali il numero è allineato a sx, si nota anche il triangolino nero in alto a sx, che sta ad indicare che quello che si vede è un Testo, ed ecco il malfunzionamento di formule applicate alla cella.

 

A questo punto ricordiamoci che ogni volta che trasportiamo dei dati dalla Userform al foglio Excel se non sono Testo devono essere convertiti nel formato di loro competenza, ci sono alcune parole chiavi nel VBA che fanno questa Conversione, nel caso in esempio, la Routine diventa:

Private Sub CommandButton1_Click()
Cells(2, 1) = CDbl(TextBox1)
End Sub

Come si vede il dato adesso viene riportato come Numero, inserito normalmente a Dx, però si sono perse le separazioni delle Migliaia, ma questo fa parte della Formattazione della Cella, che deve essere adeguata al formato dei dati inseriti.

 

Al momento penso che basti sull’uso della TextBox sulla Userform, nel caso scrivetemi che risponderò volentieri.

Per la conversione dei dati scriverò degli articoli adatti ad ogni tipo di conversione, sotto un elenco di conversioni.

“In Costruzione”

 

 

 

By | 2018-05-15T11:07:21+00:00 maggio 15th, 2018|Categories: Senza categoria|Commenti disabilitati su Come creare una UserForm #04 – TextBox

About the Author:

BySalv
Excel si può amare od odiare, l'importante che sai usarlo

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi