Estou precisando exportar uns dados de uma planilha excel para .csv, porém não estou conseguindo fazer com que os CPF que começam com zero, fiquem com o caractere zero na planilha csv.
Já tentei colocar entre "" e não da certo, porque geralmente as "" vão para a planilha e fazem com que o CPF fique incorreto.
Sub ExportarParaCSV()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim fileName As String
Dim fileNum As Integer
Dim linhaCSV As String
' Definir a planilha que será usada
Set ws = ThisWorkbook.Sheets("CPF") ' Mude o nome conforme necessário
' Encontrar a última linha com dados na coluna A
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Definir o nome do arquivo CSV
fileName = ThisWorkbook.Path & "\Exportacao_CPDF.csv"
' Abrir o arquivo CSV para gravação
fileNum = FreeFile
Open fileName For Output As fileNum
' Loop por todas as linhas da coluna A e B
For i = 1 To lastRow
' Formatar a célula da coluna A como texto (para preservar o CPF corretamente)
ws.Cells(i, 1).NumberFormat = "@"
' Montar a linha para o CSV, com a coluna A entre aspas duplas para garantir o formato texto
linhaCSV = """" & ws.Cells(i, 1).Text & """;" & ws.Cells(i, 2).Text
' Gravar a linha no arquivo CSV
Print #fileNum, linhaCSV
Next i
' Fechar o arquivo CSV
Close fileNum
MsgBox "Exportação concluída! Arquivo salvo como: " & fileName
End Sub
Pergunta
Sergio Hatus
Boa Tarde, Pessoal.
Estou precisando exportar uns dados de uma planilha excel para .csv, porém não estou conseguindo fazer com que os CPF que começam com zero, fiquem com o caractere zero na planilha csv.
Já tentei colocar entre "" e não da certo, porque geralmente as "" vão para a planilha e fazem com que o CPF fique incorreto.
Sub ExportarParaCSV() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim fileName As String Dim fileNum As Integer Dim linhaCSV As String ' Definir a planilha que será usada Set ws = ThisWorkbook.Sheets("CPF") ' Mude o nome conforme necessário ' Encontrar a última linha com dados na coluna A lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Definir o nome do arquivo CSV fileName = ThisWorkbook.Path & "\Exportacao_CPDF.csv" ' Abrir o arquivo CSV para gravação fileNum = FreeFile Open fileName For Output As fileNum ' Loop por todas as linhas da coluna A e B For i = 1 To lastRow ' Formatar a célula da coluna A como texto (para preservar o CPF corretamente) ws.Cells(i, 1).NumberFormat = "@" ' Montar a linha para o CSV, com a coluna A entre aspas duplas para garantir o formato texto linhaCSV = """" & ws.Cells(i, 1).Text & """;" & ws.Cells(i, 2).Text ' Gravar a linha no arquivo CSV Print #fileNum, linhaCSV Next i ' Fechar o arquivo CSV Close fileNum MsgBox "Exportação concluída! Arquivo salvo como: " & fileName End Sub
SE alguém conseguir me ajudar sou grato.
Atenciosamente.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.