Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Trasferire valori textbox in listbox in tre colonne

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Trasferire valori textbox in listbox in tre colonne

Postdi WCB » 17/10/19 11:26

Salve a tutti,
avrei bisogno di un vostro aiuto..
In una userform ho tre textbox, un listbox e un pulsante.
Al pulsante è associato il seguente codice:
Codice: Seleziona tutto
Private Sub CommandButton1_Click()
ListBox1.AddItem (TextBox1.Text)
ListBox1.AddItem (TextBox2.Text)
ListBox1.AddItem (TextBox3.Text)
End Sub

che mi trasferisce i valori delle tre textbox nella listbox in una sola colonna.
Essendo che ci sono tre textbox, la mia intenzione sarebbe quella di trasferire i valori in tre colonne diverse e non su una colonna.
Esempio: txt1 "ciao", txt2 "prova", txt3 "11" -----> listbox: "ciao"(sinistra), "prova"(centro), "11"(destra).
Sarebbe possibile fare ciò?
Grazie mille in anticipo e buona continuazione :)
"I computer sanno quando vai di fretta"
Excel 2016
Avatar utente
WCB
Utente Senior
 
Post: 101
Iscritto il: 09/01/19 17:52

Sponsor
 

Re: Trasferire valori textbox in listbox in tre colonne

Postdi WCB » 17/10/19 11:45

Ho provato in questo modo e funziona:
Codice: Seleziona tutto
Private Sub CommandButton1_Click()
Me.ListBox1.ColumnCount = 3
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = (TextBox1.Text)
Me.ListBox1.List(i, 1) = (TextBox2.Text)
Me.ListBox1.List(i, 2) = (TextBox3.Text)
End Sub

se avessi sbagliato qualcosa ditemelo ;)
.....
vorrei chiedervi un'altra cosa.
Se nelle textbox dovessi "separare" i valori con un punto "." (esempio txt1: ciao1.ciao2) i valori che stanno dopo il punto si possono inserire, naturalmente previo click del pulsante, in colonna come succede col codice sopracitato?
Tipo se nella textbox1 scrivo: ciao.prova1 ----> nella listbox uscirebbe nella prima colonna a sinistra come ho scritto, quindi:
ciao.prova1
io vorrei che uscisse in questo modo invece:
ciao
prova1
E' possibile farlo? :roll:
Grazie mille in anticipo e a presto :)
"I computer sanno quando vai di fretta"
Excel 2016
Avatar utente
WCB
Utente Senior
 
Post: 101
Iscritto il: 09/01/19 17:52

Re: Trasferire valori textbox in listbox in tre colonne

Postdi Anthony47 » 17/10/19 14:18

Lo puoi fare, se ti sta bene che le due voci siano inserite in due righe diverse del listbox

Ad esempio:
Codice: Seleziona tutto
Private Sub CommandButton1_Click()
Dim cRows As Long, mySplit, I As Long, J As Long
'
cRows = 1
Me.ListBox1.Clear
Me.ListBox1.ColumnCount = 3
Me.ListBox1.AddItem
For I = 1 To 3
    mySplit = Split(Me.Controls("Textbox" & I).Text, ".", , vbTextCompare)
    If cRows = 1 And UBound(mySplit) = 1 Then Me.ListBox1.AddItem
    For J = 0 To UBound(mySplit)
        Me.ListBox1.List(J, I - 1) = mySplit(J)
    Next J
Next I
End Sub


Fai sapere…

PS: fai sapere anche relativamente "all'altra" discussione"
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 16569
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Trasferire valori textbox in listbox in tre colonne

Postdi WCB » 17/10/19 16:36

Ciao Anthony,
ti ringrazio per la risposta. Ho provato la soluzione che mi hai proposto e funziona alla grande!
Grazie ancora..

P.S. riguardo all'altra discussione ci sto lavorando su ancora..non mi arrendo!
"I computer sanno quando vai di fretta"
Excel 2016
Avatar utente
WCB
Utente Senior
 
Post: 101
Iscritto il: 09/01/19 17:52

Re: Trasferire valori textbox in listbox in tre colonne

Postdi Anthony47 » 17/10/19 17:59

ti ringrazio per la risposta. Ho provato la soluzione che mi hai proposto e funziona alla grande!
In realta' potrebbe andare in errore se qualcuno scrivesse tipo "Ciao.pippo1.pippo2"

Per proteggersi, aggiungi questa riga in questa posizione:
Codice: Seleziona tutto
    For J = 0 To UBound(mySplit)
        Me.ListBox1.List(J, I - 1) = mySplit(J)
        If J>0 then Exit For
    Next J

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 16569
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Trasferire valori textbox in listbox in tre colonne":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti