O erro está no CODE abaixo:
For i = 1 To ListView1.ColumnHeaders.Count
shWorkSheet.Cells(1, Chr(64 + i)) = ListView1.ColumnHeaders(i)
Next
For i = 1 To ListView1.ListItems.Count
shWorkSheet.Cells(i + 1, "A") = ListView1.ListItems(i).text
For j = 2 To ListView1.ColumnHeaders.Count
shWorkSheet.Cells(i + 1, Chr(64 + j)) = ListView1.ListItems(i).SubItems(j - 1)
Next
Next
Ocorre que ele usa as letras da colunas como referencia. O ideal é usar o número da coluna.
Então alterar Chr(64 + i) e Chr(64 + j) por seus respectivos contadores.
Abaixo segue o código completo com a alteração
Private Sub cmdexportexcel_Click()
'Botão Exportar listagem
Application.ScreenUpdating = False
Dim objExcel As New Excel.Application
Dim bkWorkBook As Workbook
Dim shWorkSheet As Worksheet
Dim i As Integer
Dim j As Integer
Set objExcel = New Excel.Application
Set bkWorkBook = objExcel.Workbooks.Add
Set shWorkSheet = bkWorkBook.ActiveSheet
For i = 1 To ListView1.ColumnHeaders.Count
shWorkSheet.Cells(1, i) = ListView1.ColumnHeaders(i)
Next
For i = 1 To ListView1.ListItems.Count
shWorkSheet.Cells(i + 1, "A") = ListView1.ListItems(i).Text
For j = 2 To ListView1.ColumnHeaders.Count
shWorkSheet.Cells(i + 1, j) = ListView1.ListItems(i).SubItems(j - 1)
Next
Next
objExcel.Visible = True
Application.ScreenUpdating = True
End Sub
Pietro Farias
Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.
ANALISTA X
Postado : 07/03/2017 8:15 am