Popolare TextBox con Selezione combobox
Hai un problema con Excel? 
Popolare TextBox con Selezione combobox
di ssayan79 data: 21/07/2013 15:16:57
Salve a tutti
sono nuovo del forum e spero di aver inserito il post nel modo giusto.
Forse per la maggior parte di voi questo è un problema banale, ma io non riesco a risolverlo.
Attraverso la selezione di una combobox devo poter popolare delle text box nella stessa userform della combobox.
Di seguito il codice da me creato.Premetto che l'operazione di popolazione della combobox mi è riuscito.
Grazie mille
Dim intervallo_bobine As Range
Dim intervallo_fili As Range
Sub Workbook_open()
Set Foglio_di_calcolo = ActiveWorkbook.Worksheets("Foglio_di_calcolo")
Set Database = ActiveWorkbook.Worksheets("Database")
Set ZA = ActiveWorkbook.Worksheets("ZA")
Set ZB = ActiveWorkbook.Worksheets("ZB")
Set ZC = ActiveWorkbook.Worksheets("ZC")
Set Z130 = ActiveWorkbook.Worksheets("Z130")
Set Z134 = ActiveWorkbook.Worksheets("Z134")
Set Z534 = ActiveWorkbook.Worksheets("Z534")
Set Z570 = ActiveWorkbook.Worksheets("Z570")
Set Z610 = ActiveWorkbook.Worksheets("Z610")
Set Z9 = ActiveWorkbook.Worksheets("Z9")
Set Z615 = ActiveWorkbook.Worksheets("Z615")
Set Z614 = ActiveWorkbook.Worksheets("Z614")
Set ZA31 = ActiveWorkbook.Worksheets("ZA31")
Selezione_Bobina.Show
Selezione_Filo.Show
Call Inizializza_userform
'Call ComboBox1_Click
End Sub
Sub Inizializza_userform()
Dim righe_bobine, righe_filo, contatore As Integer
With Worksheets("Database")
righe_bobine = .Range("J2", .Range("J" & .Rows.Count).End(xlUp)).Rows.Count
Set intervallo_bobine = .Range(.Cells(2, 10), .Cells(2 + righe_bobine, 10))
MsgBox ("righe_bobine ") & righe_bobine
End With
With Worksheets("Database")
righe_filo = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Rows.Count
Set intervallo_fili = .Range(.Cells(2, 2), .Cells(2 + righe_filo, 2))
MsgBox ("righe_filo ") & righe_filo
End With
With Selezione_Bobina.ComboBox1
.Clear
For contatore = 1 To righe_bobine
.AddItem (intervallo_bobine(contatore))
Next
End With
With Selezione_Filo.ComboBox1filo
.Clear
For contatore = 1 To righe_filo
.AddItem (intervallo_fili(contatore))
Next
End With
End Sub
Private Sub ComboBox1filo_Click()
'MsgBox ("ComboBox1_Change")
Dim riga_sel As Integer
With Selezione_Filo
riga_sel = Selezione_Filo.ComboBox1filo.ListIndex
'MsgBox ("riga_sel") & riga_sel
If riga_sel = -1 Then
'Selezione_Filo.TextBox1.Text = Selezione_Filo.ComboBox1.List(riga_sel, 3)
'Selezione_Filo.TextBox2.Text = Selezione_Filo.ComboBox1.List(riga_sel, 4)
'Selezione_Filo.TextBox3.Text = Selezione_Filo.ComboBox1.List(riga_sel, 4)
Selezione_Filo.TextBox1.Text = ""
Selezione_Filo.TextBox2.Text = ""
Selezione_Filo.TextBox3.Text = ""
MsgBox ("riga_sel = -1")
Else
MsgBox ("riga_sel diverso da -1")
End If
End With
End Sub
|
di ssayan79 data: 21/07/2013 19:26:04
Ho provato anche a cercare all'interno del Forum, ma senza successo.
Sarebbe utile anche se poteste indicarmi un link di riferimento.
Grazie mille in anticipo
di HarryBosch data: 22/07/2013 11:05:43
Ciao ssayen79
potresti allegare un file di esempio senza dati sensibili? altrimenti ricostruire sempre lo scenario fa perdere un sacco di tempo.
Le tre textbox che sono inserite (almeno da quanto desumo) quali valori dovrebbero recuperare in base alla variazione della combobox?
di Vecchio Frac data: 22/07/2013 11:45:01
Fai come suggerisce Harry ^_^
Forse la combo restituisce un indice da cui prelevare i dati da inserire nelle textbox.
Vuoi Approfondire?