Cargar textbox desde filtro de listbox

Tengo un formulariode movimientos de activos y si hago click en el botón filtrar me llena el listbox con los movimientos correspondientes al activo seleccionado, no obstante cuando selecciono un elemento desde el listbox para llenar los textbox simpre me carga en el userform los valores del primer valor, si selecciono otro item con valores diferentes me coloca siempre los valores del primero.

Lo que quiero es que los textbox cambien según el item selccionado desde el listbox.

2 Respuestas

Respuesta
1

Envíame tu último archivo y me explicas con un ejemplo lo que necesitas. R ecuerda poner tu nombre de usuario en el asunto del correo.

Ya lo envié estimado caballero. Gracias

Cambié el evento Initalize por Activate. Te anexo el código para cargar el list y para filtrar:

Dim h2
'
Private Sub CommandButton6_Click()
'Act.Por.Dante Amor
    'FILTRAR
    If Me.TextBox7.Value = "" Then
        MsgBox "El campo PJ no puede estar vacío", vbCritical, "Activos"
        Exit Sub
    End If
    '
    Me.ListBox1.Clear
    For i = 2 To h2.Range("A2").CurrentRegion.Rows.Count
        If CLng(h2.Cells(i, 1).Value) = CLng(Me.TextBox7.Value) Then
            Me.ListBox1.AddItem Cells(i, 1)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = h2.Cells(i, 2)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = h2.Cells(i, 3)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = h2.Cells(i, 4)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = h2.Cells(i, 5)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = h2.Cells(i, 6)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = h2.Cells(i, 7)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = i   'se agrega la fila al listbox
        End If
    Next i
End Sub
'
Private Sub ListBox1_Click()
'Act.Por Dante Amor
    'SELECCIONA REGISTRO DEL LIST
    fila = Val(ListBox1.List(ListBox1.ListIndex, 7))
    TextBox4.Value = h2.Cells(fila, 2)
    TextBox1.Value = h2.Cells(fila, 3)
    TextBox3.Value = h2.Cells(fila, 4)
    TextBox5.Value = h2.Cells(fila, 5)
    TextBox6.Value = h2.Cells(fila, 6)
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    TextBox7.Value = UserForm1.TextBox1.Value
    Set h2 = Sheets("Movimientos")
    ListBox1.ColumnWidths = "35 pt;100 pt;55 pt;170 pt;55 pt;60 pt"
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Respuesta
1

H o l a 

Puedes mostrar el código para adecuar el código

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas