Notifications
Clear all

importar txt, identificar tabulação ignora-la

10 Posts
2 Usuários
0 Reactions
1,351 Visualizações
(@ricko)
Posts: 5
Active Member
Topic starter
 

Bom dia!

Tentei de todas as formas importar este arquivo txt para o excel, porém para este tipo de arquivo em especifico, não consigo importar corretamente.

O arquivo a ser importado tem como delimitador Tabulação, porém quando vou importar cada espaço aparece um caracter no lugar no formato de quadrado, não deixano por exemplo eu aplicar o Split

o numero de colunas são sempre o mesmo. porém com diferentes numeros de caracteres.

11 39391705 11 984708104 2014-02-01 00:07:22 Local 30 0,5 R$ 0,280
11 39391705 11 39923619 2014-02-01 00:14:24 VC1 30 0,5 R$ 0,030
11 39391703 11 39923619 2014-02-01 00:15:37 Local 42 0,7 R$ 0,040

verifiquei algo sobre formato ANCI - UTF8 mas não consegui aplicar no código.

Alguem poderia me ajudar?

desde já agradeço pela atenção.

 
Postado : 20/03/2014 8:54 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Poderia mandar o txt original(mesmo que com os 4 registros) bem como um demostrativo, no Excel de como espera ter os dados finais (esse faça manualmente).

OBS.: OS ARQUIVOS DEVEM SER COMPACTADOS (ZIP/RAR/7Z...)

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 20/03/2014 9:39 am
(@ricko)
Posts: 5
Active Member
Topic starter
 

Poderia mandar o txt original(mesmo que com os 4 registros) bem como um demostrativo, no Excel de como espera ter os dados finais (esse faça manualmente).

OBS.: OS ARQUIVOS DEVEM SER COMPACTADOS (ZIP/RAR/7Z...)

segue o arquivo.

desde ja

agradeço muito rs ;)

 
Postado : 20/03/2014 12:55 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente

Sub ImpCamb()
Dim ws As Workbook
Set ws = ThisWorkbook
'Alterar caminho para o arquivo txt
    Workbooks.OpenText Filename:="C:DownloadsCAMBRIDGE_teste.txt", Origin:= _
        xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
        , ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:= _
        False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1) _
        , Array(3, 1), Array(4, 1), Array(5, 8), Array(6, 8), Array(7, 1), Array(8, 1), Array(9, 1), _
        Array(10, 1)), TrailingMinusNumbers:=True
    For x = 1 To Cells(Cells.Rows.Count, "A").End(xlUp).Row
        ws.Sheets("Plan2").Range("A" & x) = Range("A" & x) & Range("B" & x)
        ws.Sheets("Plan2").Range("B" & x) = Range("C" & x) & Range("D" & x)
        ws.Sheets("Plan2").Range("C" & x) = Range("E" & x)
        ws.Sheets("Plan2").Range("D" & x) = Range("F" & x)
        ws.Sheets("Plan2").Range("E" & x) = Range("G" & x)
        ws.Sheets("Plan2").Range("F" & x) = Range("H" & x)
        ws.Sheets("Plan2").Range("G" & x) = Range("I" & x)
        ws.Sheets("Plan2").Range("H" & x) = Range("J" & x)
    Next
    ActiveWindow.Close
    Cells.Select
    Cells.EntireColumn.AutoFit
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/03/2014 7:57 am
(@ricko)
Posts: 5
Active Member
Topic starter
 

utilizei esse codigo

porém esta dando um erro nessa linha que não consegui descobrir.

ws.Sheets("Plan2").Range("A" & X) = Range("A" & X) & Range("B" & X)

att.

 
Postado : 24/03/2014 8:08 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

No seu arquivo não deve ter a planilha 2 (Plan2).Altere para o nome de sua planilha, provavelmente Plan1, ou adicione uma.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/03/2014 9:07 am
(@ricko)
Posts: 5
Active Member
Topic starter
 

Boa

Observei isso porém estava altrando na planilha criada.

Agora deu certinho.
Só a ultima coluna que o valor ficou como texto.
Alguma dica?

Desde ja muito obrigado mesmo pela ajuda

 
Postado : 24/03/2014 12:03 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente assim --> ws.Sheets("Plan2").Range("H" & x) = Range("J" & x)*1

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/03/2014 1:00 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Ricko

Movi teu tópico para o fórum VBA & Macros, pois este local é reservado apenas para a apresentação dos novos usuários do fórum.

No início vou deixar mostrando o tópico nos 2 fóruns para você se localizar.

At.te

Patropi - Moderador

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/03/2014 2:55 pm
(@ricko)
Posts: 5
Active Member
Topic starter
 

ok Obrigado.

isso não ira se repetir rs.

tenham uma ótima semana.

 
Postado : 25/03/2014 7:59 am