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