Popolare TextBox con Selezione combobox



  • 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.