Desde un USERFORM Cargar datos a un ListBox

Hola Dante…    otra vez por tu aporte,  tengo esta macro y estoy atorado en la carga de datos al ListBox. Traté de juntar códigos pero me falta algo de andar. En la parte de esta macro, donde creo que va el código señala la descripción que se desea realice esta macro. Te agradezco de nuevo y Muchas gracias de antemano, en especial en estos días.

Private Sub CommandButton2_Click() ' busca los datos

    Application.ScreenUpdating = False

    For Each h In Sheets

        n = h.Name

        If UCase(h.Name) = UCase(ComboBox1) Then

            existe = True

            Exit For

        End If

    Next

    If existe = False Then

        MsgBox "La hoja seleccionada no existe", vbCritical, "SELCCIONAR OBRA"

        Exit Sub

        ComboBox1.SetFocus

'IDENTIFICA DATOS GENERALES DE LA OBRA SELECCIONADA

    Set h1 = Sheets(ComboBox1.Value)

    TextBox1 = h1.Range("D3") ' OBRA

    TextBox2 = h1.Range("D4") ' UBICACIÓN, LOCALIZACION

    TextBox3 = h1.Range("D5") ' MUNICIPIO

'Busca el nombre del proveedor y lo coloca en el TxBx4

    Set b = h1.Columns("A").Find(ComboBox2, lookat:=xlWhole)

    If Not b Is Nothing Then

        TextBox4 = h1.Cells(b.Row, "A")

'xxxxxxxxxxxxxxx

                  ' y también debe encontrar los datos que se encuentran en las

                  ‘columnas 8,9,10,11,12,13 de esa linea encontrada y colocarlos en 3

                  'columnas del ListBox

'h1.Cells(b.Row, "G") = Fecha

 'h1.Cells(fila, 8) = Fecha

 'h1.Cells(fila, 9) = Factura

 'h1.Cells(fila, 10) = Pago

 'h1.Cells(fila, 11) = Fecha

 'h1.Cells(fila, 12) = Factura

 'h1.Cells(fila, 13) = Pago

 'Fecha = ""

 'Factura = ""

 'Pago = ""

End If

'TextBox1 = ""

'TextBox2 = ""

'TextBox3 = ""

'TextBox4 = ""

'TextBox5 = ""

'xxxxxxxxxx

'End If

     Application.ScreenUpdating = True

   '  h1.Protect

    'Sheets("hoja1").Select

End Sub

1 respuesta

Respuesta
2

Te anexo la macro actualizada

Private Sub CommandButton2_Click() ' busca los datos
'Act.Por.Dante Amor
    For Each h In Sheets
        If UCase(h.Name) = UCase(ComboBox1) Then
            existe = True
            Exit For
        End If
    Next
    If existe = False Then
        MsgBox "La hoja seleccionada no existe", vbCritical, "SELCCIONAR OBRA"
        Exit Sub
        ComboBox1.SetFocus
    End If
    ListBox1.ColumnCount = 3
    'IDENTIFICA DATOS GENERALES DE LA OBRA SELECCIONADA
    Set h1 = Sheets(ComboBox1.Value)
    TextBox1 = h1.Range("D3") ' OBRA
    TextBox2 = h1.Range("D4") ' UBICACIÓN, LOCALIZACION
    TextBox3 = h1.Range("D5") ' MUNICIPIO
    'Busca el nombre del proveedor y lo coloca en el TxBx4
    Set b = h1.Columns("A").Find(ComboBox2, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox4 = h1.Cells(b.Row, "A")
        j = 8
        Do While h1.Cells(b.Row, j) <> ""
            ListBox1.AddItem
            ListBox1.List(ListBox1.ListCount - 1, 0) = h1.Cells(b.Row, j)
            ListBox1.List(ListBox1.ListCount - 1, 1) = h1.Cells(b.Row, j + 1)
            ListBox1.List(ListBox1.ListCount - 1, 2) = h1.Cells(b.Row, j + 2)
            j = j + 3
        Loop
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas