Al extraer datos al ListBox, poner el encabezado de cada columna.

Tengo ahora este código para extraer datos al ListBox1 en tres columnas, pero necesito que también me pase el encabezado que tiene cada columna, o sea la 1° columna es “FECHA”; la 2° es “No. De Fact” y la 3° es” Importe” y al final “Total”… la sumatoria de estos Importes. De antemano muchas gracias y mis mejores deseos a toda la comunidad de expertos.

j = 8

        Do While h1.Cells(b.Row, j) <> ""

            ListBox1.AddItem

            ListBox1.List(ListBox1.ListCount - 0, 0) = h1.Cells(b.Row, "Fecha")

            'ListBox1.List(ListBox1.ListCount - 1, 0) = "Fecha" 'h1.Cells(b.Row, j) =

ListBox1. List(ListBox1.ListCount - 1, 0) = h1. Cells(b. Row, j) ‘Fecha

            ListBox1.List(ListBox1.ListCount - 1, 1) = h1.Cells(b.Row, j + 1)     ‘No. De Fact.

            ListBox1.List(ListBox1.ListCount - 1, 2) = h1.Cells(b.Row, j + 2)     ‘ Importe

            j = j + 3

        Loop

Ref: “Desde un USERFORM Cargar datos a un ListBox”; Respuesta día, 20Dic.

1 Respuesta

Respuesta
2

¿Pero cómo quieres el encabezado?

Te recomiendo que pongas el encabezado con unos label, por ejemplo

Esta sería la macro completa

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)
            wtot = wtot + Val(h1.Cells(b.Row, j + 2))
            j = j + 3
        Loop
        Label5 = wtot
    End If
End Sub

Esta es la parte que agregué a la macro

wtot = wtot + Val(h1.Cells(b.Row, j + 2))

Label5 = wtot

Por lo tanto, tienes que agregar un label5 para almacenar el importe total.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas