Notifications
Clear all

Converter para .CSV separado por ";"

3 Posts
2 Usuários
0 Reactions
771 Visualizações
(@trindade)
Posts: 0
New Member
Topic starter
 

Bom dia, Srs.

Procurei alguma coisa na internet alguma rotina que salve em .csv separado por ponto e virgula, o que consegui encontrar é salvar em .csv mas por default ele salva separado por virgula, encontrei alguma rotinas aqui no fórum mas sem sucesso.

Meu arquivo vai ter por voltar de 120 mil linhas e 53 colunas, as células poderão vir: null, branco, número, texto ...

Rotina:

Private Sub ConvertCSV()

Dim myPath As String
Dim myString As Variant

    'Turn off Any Alerts
    Application.DisplayAlerts = False

        'Open Workbook
        myPath = CaminhoFisico & "" & Ano & "" & MesInt & "_" & MesExt & "" & Dia & "" & "Consolidado_" & Dia & ".xlsx"
    
            'Open Workbook
            Workbooks.Open Filename:=myPath
        
            'Remove Excel Extension from String
            myString = Split(myPath, ".")
            myPath = myString(0)
            
            'Save as CSV
            ActiveWorkbook.SaveAs Filename:="\C:Usersfabio.trindadeDesktop" & "Consolidado_" & Dia & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    
        'Close Window
        ActiveWindow.Close
    
    'Turn on Alerts
    Application.DisplayAlerts = True

End Sub

Tentei usar essa rotina também:

Private Sub ConvertCSV()
' # CONVERTER PARA .CSV# '
   
    Workbooks.Open CaminhoFisico & "" & Ano & "" & MesInt & "_" & MesExt & "" & Data & "" & "SGV" & "" & "Consolidado_" & Data & ".xls" 'ABRE ARQUIVO DETERMINADO
   
    Dim Coluns As Integer
    Dim Nome As String
    Nome = "Consolidado_" & Data & ".csv"   'TIPO DE EXTENSAO A DEFINIR
    
    Open CaminhoFisico & "" & Nome For Output As #1  'LOCAL ONDE SERA SALVO O ARQUIVO EM .CSV
    
        For Coluns = 1 To 15000  'DEFINE QUANTIDADE DE ARQUIVOS QUE SERA FEITO A LEITURA E INSERIDO ";"
            If Cells(Coluns, 12).Value <> "" Then
                Print #1, Cells(Coluns, 1).Value & ";" & Cells(Coluns, 2).Value & ";" & Cells(Coluns, 3).Value & ";" & Cells(Coluns, 4).Value & ";" & Cells(Coluns, 5).Value & ";" & Cells(Coluns, 6).Value & ";" & Cells(Coluns, 7).Value & ";" & Cells(Coluns, 8).Value & ";" & Cells(Coluns, 9).Value & ";" & Cells(Coluns, 10).Value & ";" & Cells(Coluns, 11).Value & ";" & Cells(Coluns, 12).Value 'QTDE DE COLUNAS QUE IRA RECEBER O SEPARADOR
            End If
        Next
        
    Close #1    'FECHA O ARQUIVO SALVO EM .CSV
    
    ActiveWindow.Close 'FECHA A PLANILHA QUE FOI ABERTA

End Sub

Gostaria da ajuda dos senhores, toda ideia sempre é bem vinda.

 
Postado : 25/04/2015 8:57 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Normalmente, pode-se inserir uma primeira linha, e em A1 a indicação do separador (A1:-->sep=;) http://pt.wikipedia.org/wiki/Comma-separated_values
Experimente.
Inclua uma linha em branco, em A1 digite sep=;
Vá em salvar como, selecione tipo CSV, e ok

 
Postado : 25/04/2015 9:53 am
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa noite, Reinaldo.

Realizei o teste, inserir na célula "A1" conforme dito mas sem sucesso ainda, ele salva com virgula ","

 
Postado : 25/04/2015 10:15 pm