Copiar filas filtradas a otra hoja, con más de 13 columnas.

Necesito copiar más de 13 columnas filtradas a un listbox, encontré este código por Dante Amor espero solo se puede hasta 10 columnas.

Espero me puedan apoyar.

Dim cell As Range
Dim Rng As Range
ListBox1.ColumnCount = 6
With ThisWorkbook.Sheets("Cobros")
Set Rng = .Range("A1", .Range("A2").End(xlDown)).SpecialCells(xlCellTypeVisible)
End With
ListBox1.Clear
For Each cell In Rng.Cells
With Me.ListBox1
.AddItem cell.Value
. List(.ListCount - 1, 1) = cell.Offset(0, 1).Value
. List(.ListCount - 1, 2) = cell.Offset(0, 2).Value
. List(.ListCount - 1, 3) = cell.Offset(0, 3).Value
. List(.ListCount - 1, 4) = cell.Offset(0, 4).Value
. List(.ListCount - 1, 5) = cell.Offset(0, 5).Value
End With
Next cell
End Sub

2 respuestas

Respuesta
3

Te anexo la macro para cargar más de 10 columnas. Cambia la "M" por la última columna que quieras cargar. Cambia "Cobros" por el nombre de tu hoja con datos.

Crea en tu libro una hoja llamada "temp"

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h1 = Sheets("Cobros")
    Set h2 = Sheets("temp")
    col = "M"
    h2.Cells.Clear
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A1:" & col & u).Copy h2.[A1]
    With Me.ListBox1
        .Clear
        .ColumnCount = Columns(col).Column
        .RowSource = h2.Name & "!A1:" & col & h2.Range("A" & Rows.Count).End(xlUp).Row
    End With
End Sub

Si tu hoja tiene encabezados entonces utiliza esta macro:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h1 = Sheets("Cobros")
    Set h2 = Sheets("temp")
    col = "M"
    '
    h2.Cells.Clear
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A1:" & col & u).Copy h2.[A1]
    With Me.ListBox1
        .Clear
        .ColumnHeads = True
        .ColumnCount = Columns(col).Column
        .RowSource = h2.Name & "!A2:" & col & h2.Range("A" & Rows.Count).End(xlUp).Row
    End With
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Respuesta
1

Que yo sepa un listbox sólo permite 10 columnas.

¡Gracias!

Si la hay solo, que varias manereas y por el momento no me sale ni una.

Dante amor hizo el favor de dejar programa, con excelente solución.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas