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

[RESOLVIDO] Salvar em CSV

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
RODRIGO COUTINHO
Colaborador
Colaborador
Mensagens: 19
Registrado em: Qui Jun 16, 2016 1:14 pm

[RESOLVIDO] Salvar em CSV

Mensagem por RODRIGO COUTINHO »

Caros,

Boa noite! Preciso de uma ajuda em relação a um processo que preciso deixar automático.

O código que irá salvar a planilha em um arquivo no formato CVS (Separado por Vírgula).

Tudo funciona perfeitamente, porém ao abrir o arquivo que foi salvo, precisa que abra (apesar de estar em CSV) no formato original, com cada informação em sua coluna e não de forma concatenada em C1 com a separação por vírgulas.

Ressalto que quando realizo o processo de salvar manualmente (Fora VBA) o arquivo é salvo em CSV e ao abrí-lo, abre no formato original e não concatenado.

Quando salvo no VBA ele só abre no formato original, se eu pedir para abrir via código pelo próprio vba.

Porém esse arquivo será importado em um sistema e precisa estar em CSV e não concatenado.

Grato se puderem ajudar!

Abs!!!

Código: Selecionar todos

Sub organizar()

caminho = Range("j1")
ullin = Range("B" & Rows.Count).End(xlUp).Row
 
If Range("a2") = "" Then
Range("j1").Clear
MsgBox "Planilha sem dados. Por favor cole os campos necessários para formatação."
Exit Sub
End If
Columns("A:A").Select
Selection.NumberFormat = "0"
Columns("B:B").Select
Selection.NumberFormat = "0"
Columns("C:C").Select
Selection.NumberFormat = "dd/mm/yyyy hh:mm:ss"
Columns("D:D").Select
Selection.NumberFormat = "General"
Columns("C:C").Select
Selection.Insert
Range("c2") = "=IF(LEN(RC[-1])=12,RIGHT(RC[-1],10),IF(LEN(RC[-1])=13,RIGHT(RC[-1],11),RC[-1]))"
Range("c3") = "=IF(LEN(RC[-1])=12,RIGHT(RC[-1],10),IF(LEN(RC[-1])=13,RIGHT(RC[-1],11),RC[-1]))" 'Altofill só funciona com seleção de 2 celulas
Range("C2:C3").AutoFill Destination:=Range("C2:C" & ullin)
Range("C2:C" & ullin).Select
Selection.Copy
Range("B2:B" & ullin).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
 Application.CutCopyMode = False
 Columns("c:c").Select
 Selection.Delete
 Range("a1").Select
 
MsgBox ("Total de " & ullin - 1 & " Linhas Formatadas")

Range("A2", "D1048575").Copy

Workbooks.Add
Range("a1").PasteSpecial
Range("p1") = "Associa_"
Range("q1") = Now
Range("q1").NumberFormat = "yyyymmddhhmmss"
Range("r1") = Range("p1") & Range("q1").Text
Name = Range("r1")


ActiveWorkbook.SaveAs Filename:=caminho + Range("r1"), FileFormat:=xlCSV, CreateBackup:=False

Range("p1", "r1").ClearContents
Workbooks(Name).Close SaveChanges:=True

MsgBox ("Arquivo " & Name & " salvo com sucesso!")
Workbooks("Organizador Associação Raid7").Activate
Range("j1").Clear
Range("A2", "D1048575").Clear

End Sub
Editado pela última vez por RODRIGO COUTINHO em Qui Jul 28, 2016 7:55 pm, em um total de 1 vez.


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
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Salvar em CSV

Mensagem por webmaster »

tentou gravar uma macro fazendo a importacao do arquivo pelo menu Dados?


RODRIGO COUTINHO
Colaborador
Colaborador
Mensagens: 19
Registrado em: Qui Jun 16, 2016 1:14 pm

Re: Salvar em CSV

Mensagem por RODRIGO COUTINHO »

Olá,

Este arquivo não será utilizado no excel, eu preciso Salvar em CSV, porém sem concatenar.

Quando salvo manualmente funciona, porém quando salvo pelo VBA o arquivo fica concatenado.

Grato pela ajuda.


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: Salvar em CSV

Mensagem por Reinaldo »

Quando salvo manualmente funciona, porém quando salvo pelo VBA o arquivo fica concatenado.
Creio que o "concatenado" seja ao abrir novamente com o excel, não há a separação em colunas.
Isso normalmente ocorre pois o VBA segue a orientação/configuração de dados Americano, e salva o CSV separado por virgulas e não ponto e virgula como quando executa manualmente.
Veja no sites abaixo se lhe auxilia
http://www.techbr.com.br/software/excel ... -tutorial/ e
http://answers.microsoft.com/pt-br/offi ... 1e3?auth=1


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.


RODRIGO COUTINHO
Colaborador
Colaborador
Mensagens: 19
Registrado em: Qui Jun 16, 2016 1:14 pm

Re: Salvar em CSV

Mensagem por RODRIGO COUTINHO »

Olá Professor, obrigado pelos esclarecimentos.

O meu problema não é em relação a vírgula ou ponto e vírgula. Eu quero salvar o arquivo via VB e quando abrir este mesmo arquivo que ele não abra com os dados “Concatenados" em C1. Só consigo esse resultado se salvar manualmente. Ou seja, se salvar manualmente em CSV e abrir este mesmo arquivo novamente ele não vem "concatenado" e sim separados por coluna conforme no arquivo xlsm. Preciso que o mesmo aconteça, porem salvando pelo VB.

Acredito que o primeiro link com o material do CSV irá ajudar, assim que conseguir testar dou um retorno.

Desde já agradeço a atenção!
Editado pela última vez por RODRIGO COUTINHO em Qua Jul 27, 2016 1:28 pm, em um total de 1 vez.


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: Salvar em CSV

Mensagem por Reinaldo »

Ao salvar em vba uma planilha em csv, automaticamente e assumido o que o csv representa "separado por virgula" (padrão americano). Entretanto o padrão brasileiro utiliza o "ponto e virgula", assim ao abrir um arquivo ".csv", por virgula os valores estarão "concatenados" em uma única célula. Então o seu problema e esse.
Ao salvar em vba , depois deve editar lseu arqujivo e alterar a virgula por ponto e virgula


RODRIGO COUTINHO
Colaborador
Colaborador
Mensagens: 19
Registrado em: Qui Jun 16, 2016 1:14 pm

[RESOLVIDO] Re: Salvar em CSV

Mensagem por RODRIGO COUTINHO »

Obrigado Professor Reinaldo. Esta foi solução.

Grato!!


Walaceamaral
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Qua Jan 30, 2019 10:32 pm

Re: [RESOLVIDO] Salvar em CSV

Mensagem por Walaceamaral »

Eu estou tentando fazer isso porém quando abro o arquivo via vba ele abre no padrao Americado ou seja as virgulas somem e quando abro manualmente ele abre no padrao Brasileiro.


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: [RESOLVIDO] Salvar em CSV

Mensagem por Reinaldo »

Não entendi?
Obs.: Tópico dado com resolvido, sugiro abrir se próprio tópico expondo detalhadamente sua duvida informando este como referencia.


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