Trasporta datos de listview a excel

Nuevamente necesitando de sus sabios conocimientos. Tengo un form el cual tiene textbox el cual se cargan a un listview lo que necesito es que al presionar un botón me mande los datos del listview a hoja de excel y que se vaya creando un registro. Tengo este código pero me borra los registros anteriores.

Private Sub CommandButton1_Click()
Dim i, j As Integer
Hoja11.Range(Cells(2, 1), Cells(20, 8)).Select
For i = 1 To ListView1.ListItems.Count
    Hoja11.Cells(i + 1, 1) = ListView1.ListItems(i).Text
    For j = 1 To 1
    Hoja11.Cells(i + 1, 2) = ListView1.ListItems(i).ListSubItems(1).Text
    Hoja11.Cells(i + 1, 3) = ListView1.ListItems(i).ListSubItems(2).Text
    Hoja11.Cells(i + 1, 4) = ListView1.ListItems(i).ListSubItems(3).Text
    Hoja11.Cells(i + 1, 5) = ListView1.ListItems(i).ListSubItems(4).Text
    Hoja11.Cells(i + 1, 6) = ListView1.ListItems(i).ListSubItems(5).Text
    Hoja11.Cells(i + 1, 7) = ListView1.ListItems(i).ListSubItems(6).Text
    Hoja11.Cells(i + 1, 8) = ListView1.ListItems(i).ListSubItems(7).Text
    Next j
    Next i
End Sub
1

1 Respuesta

4.664.525 pts. Sancho, si los perros ladran ...

H o l a :

Te anexo el código actualizado para que empiece a poner los registros en la siguiente fila vacía de la columna "A" de la hoja 11:

Private Sub CommandButton1_Click()
'Act.Por.Dante Amor
    Dim i, j As Integer
    j = Hoja11.Range("A" & Rows.Count).End(xlUp).Row + 1 'siguiente fila vacía de la columna A
    For i = 1 To ListView1.ListItems.Count
        Hoja11.Cells(j, 1) = ListView1.ListItems(i).Text
        Hoja11.Cells(j, 2) = ListView1. ListItems(i). ListSubItems(1).Text
        Hoja11.Cells(j, 3) = ListView1. ListItems(i). ListSubItems(2).Text
        Hoja11.Cells(j, 4) = ListView1. ListItems(i). ListSubItems(3).Text
        Hoja11.Cells(j, 5) = ListView1. ListItems(i). ListSubItems(4).Text
        Hoja11.Cells(j, 6) = ListView1. ListItems(i). ListSubItems(5).Text
        Hoja11.Cells(j, 7) = ListView1. ListItems(i). ListSubItems(6).Text
        Hoja11.Cells(j, 8) = ListView1.ListItems(i).ListSubItems(7).Text
        j = j + 1
    Next
End Sub

H o l a:

Creo que el segundo ciclo que pusiste era para las columnas del listview, entonces quedaría así:

Private Sub CommandButton1_Click()
'Act.Por.Dante Amor
    Dim i, j As Integer
    For i = 1 To ListView1.ListItems.Count
        j = Hoja11.Range("A" & Rows.Count).End(xlUp).Row + 1
        Hoja11.Cells(j, 1) = ListView1.ListItems(i).Text
        For k = 1 To 7
            Hoja11.Cells(j, k + 1) = ListView1.ListItems(i).ListSubItems(k).Text
        Next
    Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas