Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Macro criar novo arquivo em CSV separado por ponto e vírgula

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
andre.mousinho
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Jan 22, 2019 11:56 am

Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por andre.mousinho »

Amigos boa noite,

Estou com um problema. Hoje utilizo uma macro que gera novo arquivo salvando o mesmo com a extensão CSV. Até aí tudo perfeito, o problema que o arquivo CSV gerado por macro fica separado apena por vírgula, e hoje preciso que o mesmo seja separado por ponto e vírgula. Para corrigir o problema, tenho que abrir o arquivo gerado e salvar novamente como arquivo CSV, manualmente, e assim ele fica separado por ponto e vírgula. Alguma solução?

Obrigado,


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por Reinaldo »

Algo recorrente, visto que o vba utiliza as configurações base que é o padrão (csv e por definição separado por virgulas). Na versão português do excel foi alterado para ponto e virgula.
A algum tempo atras vi info que alterando configurações iniciais do windows, ou informando antes de salvar que e ";" dará certo. Porem não vi nada concreto.
A meu ver o melhor e exportar direto para .txt já separado corretamente


andre.mousinho
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Jan 22, 2019 11:56 am

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por andre.mousinho »

Reinaldo boa tarde,

Pensei em exportar para .txt, porém o arquivo para importação em sistema tem que estar na extensão .csv. De qualquer forma agradeço as informações.


Basaf
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Qua Nov 13, 2019 11:22 am

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por Basaf »

Olá,

sou meio noob nestas áreas...
estou com o mesmo problema...

tenho macro para converter ficheiro em csv automáticamente.
mas fica só com virgula.

O software que vai importar o csv só lê com ponto e virgula.

porém tenho outra máquina e outro software que lê apenas com virgula...
dá para criar excepção?

são muitos ficheiros criados ao mesmo tempo, logo abrir 1 por 1 não é prático...

agradeço ajuda.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Julio Mangilli
Manda bem
Manda bem
Mensagens: 127
Registrado em: Sex Out 05, 2018 2:42 pm

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por Julio Mangilli »

Olá,

Um duvida, O Software não aceita arquivo .txt?


Basaf
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Qua Nov 13, 2019 11:22 am

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por Basaf »

olá,

não, apenas csv com ponto e virgula.


Julio Mangilli
Manda bem
Manda bem
Mensagens: 127
Registrado em: Sex Out 05, 2018 2:42 pm

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por Julio Mangilli »

Podes postar um modelo do arquivo que precisa ser em ; ?
O arquivo antes da conversão e como precisas que ele fique?

Att.


Basaf
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Qua Nov 13, 2019 11:22 am

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por Basaf »

olá
obrigado por me estares a tentar ajudar.
em anexo segue o arquivo final correto, com ponto e virgula,
csv-ok-ex.PNG
csv-ok-ex.PNG (32.93 KiB) Exibido 11401 vezes
a tabela antes da conversão
ficheiro excel antes conversão.PNG
ficheiro excel antes conversão.PNG (51.91 KiB) Exibido 11401 vezes
o código em questão para transformar:

Código: Selecionar todos

Sub IMET_V2()
'
' IMET_V2 Macro

' Definição de folhas de cálculo
Dim calculo As Worksheet
Dim softcort As Workbook
Dim Softcorte As Worksheet
Dim Softcorte_IMET As Workbooks
Set calculo = ThisWorkbook.Worksheets("cálculo")
Set Softcorte = ThisWorkbook.Worksheets("Softcorte")



    
'Softcorte_IMET.Activate
Softcorte.Activate

If Range("f1") = "" Then

MsgBox "Falta Nr da Encomenda. Por favor coloque os campos necessários para a preparação."
Exit Sub
End If
    
'O nome dos ficheiros é igual À célula B1 da folha "cálculo"
Dim NomeFich As String
NomeFich = Range("B1").Value

   
Dim x As Integer
    
    For x = 3 To 32
 
        If Range("A" & x).Value = "" Then

        Exit Sub

        Else
        Application.CutCopyMode = False
        Range("A" & x).Select
        Selection.Copy
        Sheets("cálculo").Visible = True
        Sheets("cálculo").Select
        Range("B2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
        
   
   
            Sheets("cálculo").Select
            Range("a1:z26").Select
            Application.CutCopyMode = False
            Selection.Copy
  
    
            Workbooks.Add
            ActiveSheet.Paste
            Application.CutCopyMode = False

         
  
  
    
           ActiveWorkbook.SaveAs filename:="\\lnsrvdc\rede\Montagem\imet\" & Range("f1"), FileFormat:=xlCSV, CreateBackup:=False, Local:=True
            
                               
        ActiveWorkbook.Close True
            
              
            End If
            
        ThisWorkbook.Activate


    Sheets("Softcorte").Select
   Sheets("cálculo").Visible = False
        
    Next x
    
    Sheets("cálculo").Visible = False
    
     
     

End Sub


Julio Mangilli
Manda bem
Manda bem
Mensagens: 127
Registrado em: Sex Out 05, 2018 2:42 pm

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por Julio Mangilli »

Olá,

Vamos tentar isso amigo?

Sub Tente_O_Oposto()

Dim rCell As Range
Dim rRow As Range
Dim sOutput As String
Dim sFname As String, lFnum As Long


sFname = "C:\Users\User\Desktop\ra.csv"
lFnum = FreeFile

Open sFname For Output As lFnum

For Each rRow In ActiveSheet.UsedRange.Rows

For Each rCell In rRow.Cells
sOutput = sOutput & rCell.Value & ";"
Next rCell

sOutput = Left(sOutput, Len(sOutput) - 1)


Print #lFnum, sOutput
sOutput = ""
Next rRow


Close lFnum

End Sub


Ele vai salvar com ";" Testa para ver...

Att.


Basaf
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Qua Nov 13, 2019 11:22 am

Re: Macro criar novo arquivo em CSV separado por ponto e vírgula

Mensagem por Basaf »

Olá,
obrigado,

agora preciso de ajuda.
sou mesmo noob :)
crio um módulo com esse código?
coloco no módulo que já tenho?
o que tenho de alterar?

desculpa as perguntas básicas.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder