IMPORTACAO DE TXT PARA EXCEL
Amigos, estou aprendendo agora VB e estou precisando de uma ajuda!!!
Tenho um arquivo em TXT que preciso importar para Excel através de um [Ô]CommandButton[Ô], no entanto preciso apenas de algumas informações.
Até o momento consegui fazer esse código abaixo, no entanto ainda preciso que ele retorne apenas os dados das colunas e não o cabeçalho do arquivo Txt...preciso tbm nomear as colunas que vão receber esses dados.
Tem alguém que possa me auxiliar???
Segue o código:
Private Sub CommandButton1_Click()
Dim Campos As Variant
Dim Arquivo As String
Dim i As Long
Dim rg As Range
Set rg = Range([Ô]A2[Ô])
[ô]Contador de linhas
i = 2
[ô]abre um [Ô]mini[Ô] explorer de arquivos
Arquivo = Application.GetOpenFilename([Ô]Arquivos Texto(*.txt), *.txt[Ô])
[ô]abre o arquivo texto
Open Arquivo For Input As #1
Dim S As String
Do Until EOF(1)
Line Input #1, S
[ô] If Left(s, 9) Like [Ô]4[Ô] Then
rg.Offset(0, 0) = Mid(S, 9, 9)
rg.Offset(0, 1) = Mid(S, 21, 32)
rg.Offset(0, 2) = Mid(S, 63, 13)
Set rg = rg.Offset(1, 0)
[ô]End If
Loop
Close #1
Columns([Ô]c:c[Ô]).Select
Selection.TextToColumns Destination:=Range([Ô]c1[Ô]), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Selection.Style = [Ô]Currency[Ô]
MsgBox [Ô]Extração realizada com sucesso[Ô]
End Sub
Tenho um arquivo em TXT que preciso importar para Excel através de um [Ô]CommandButton[Ô], no entanto preciso apenas de algumas informações.
Até o momento consegui fazer esse código abaixo, no entanto ainda preciso que ele retorne apenas os dados das colunas e não o cabeçalho do arquivo Txt...preciso tbm nomear as colunas que vão receber esses dados.
Tem alguém que possa me auxiliar???
Segue o código:
Private Sub CommandButton1_Click()
Dim Campos As Variant
Dim Arquivo As String
Dim i As Long
Dim rg As Range
Set rg = Range([Ô]A2[Ô])
[ô]Contador de linhas
i = 2
[ô]abre um [Ô]mini[Ô] explorer de arquivos
Arquivo = Application.GetOpenFilename([Ô]Arquivos Texto(*.txt), *.txt[Ô])
[ô]abre o arquivo texto
Open Arquivo For Input As #1
Dim S As String
Do Until EOF(1)
Line Input #1, S
[ô] If Left(s, 9) Like [Ô]4[Ô] Then
rg.Offset(0, 0) = Mid(S, 9, 9)
rg.Offset(0, 1) = Mid(S, 21, 32)
rg.Offset(0, 2) = Mid(S, 63, 13)
Set rg = rg.Offset(1, 0)
[ô]End If
Loop
Close #1
Columns([Ô]c:c[Ô]).Select
Selection.TextToColumns Destination:=Range([Ô]c1[Ô]), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Selection.Style = [Ô]Currency[Ô]
MsgBox [Ô]Extração realizada com sucesso[Ô]
End Sub
Saudações
é importante saber qual a estrutura do txt que vc deseja importar,
Ai vc poder varrer o txt de acordo com a largura ou delimitador o que fo o caso.
Se puder disponibilizar um modelo do txt no site no e-mail mitsueda@ig.com.br
Abraço
é importante saber qual a estrutura do txt que vc deseja importar,
Ai vc poder varrer o txt de acordo com a largura ou delimitador o que fo o caso.
Se puder disponibilizar um modelo do txt no site no e-mail mitsueda@ig.com.br
Abraço
Agradeço a ajuda.
Segue um modelo no formato do txt (as informações foram editadas para proteger a integridade da empresa)
O código que fiz já retorna as colunas que preciso, que são a segunda, a terceira e a ultima, no entanto não preciso do cabeçalho e nem do final de cada página desse relatório.
Gostaria tbm de nomear as colunas sendo A = CONTA, B= DESCRIÇÃO E C=SALDO.
Desde já agradeço toda ajuda e atenção dispensada. VALEU!!!
Relatório: 8 - Demonstrativo de Resultado - /2013 09:30:39
Demonstrativo de Resultado
Critérios: Data Inicial: 01/12/2012 - Data Final: 30/12/2012
Red.Conta Percentual % Saldo $
Empresa: POSTO
153 4 RECEITAS 100,0000 % 9.999.999,99
154 4.1 RECEITAS OPERACIONAIS 100,0000 % 9.999.999,99
155 4.1.01 VENDAS 100,0000 % 9.999.999,99
201 4.1.01.01 VENDAS COMBUSTÃVEIS 100,0000 % 9.999.999,99
204 4.1.01.02 RECEITAS BALDE 100,0000 % 9.999.999,99
207 4.1.01.03 VENDAS GALAO 100,0000 % 9.999.999,99
210 4.1.01.04 VENDAS LITRO 100,0000 % 9.999.999,99
Impresso em: 02/04/2013 09:30:39 1 /3 XXXXXXXXXX 3.4.0.20 - (DB: 118)..
Relatório: 8 - Demonstrativo de Resultado - /2013 09:30:39
Red.Conta Percentual % Saldo $
102 3.2 DESPESAS OPERACIONAIS 100,0000 % 9.999.999,99
103 3.2.01 DESPESAS COM FUNCIONÃRIOS 100,0000 % 9.999.999,99
105 3.2.01.02 SALáRIOS 100,0000 % 9.999.999,99
106 3.2.01.03 VALE TRANSPORTE 100,0000 % 9.999.999,99
107 3.2.01.04 COMISSõES 100,0000 % 9.999.999,99
108 3.2.01.05 OUTRAS DESPESAS C/ FUNCIONARIOS 100,0000 % 9.999.999,99
109 3.2.01.06 13º SALáRIO 100,0000 % 9.999.999,99
Totalizador Empresa: C.M.V Receita VendResultado (%) Resultado
Lucro Brut9.999.999,99 9.999.999,99 100,00% 9.999.999,99
Despesas Receitas Resultado
Resultado do ExercÃcio:9.999.999,99 9.999.999,99 9.999.999,99
Totalizador Relatório: C.M.V Receita Vendaesultado (%) Resultado
Lucro Bruto:9.999.999,99 9.999.999,99 100,00% 9.999.999,99
Despesas Receitas Resultado
Resultado do ExercÃcio:9.999.999,99 9.999.999,99 9.999.999,99
Impresso em: 02/04/2013 09:30:39 3 /3 XXXXXXXXX 3.4.0.20 - (DB: 118)..
Segue um modelo no formato do txt (as informações foram editadas para proteger a integridade da empresa)
O código que fiz já retorna as colunas que preciso, que são a segunda, a terceira e a ultima, no entanto não preciso do cabeçalho e nem do final de cada página desse relatório.
Gostaria tbm de nomear as colunas sendo A = CONTA, B= DESCRIÇÃO E C=SALDO.
Desde já agradeço toda ajuda e atenção dispensada. VALEU!!!
Relatório: 8 - Demonstrativo de Resultado - /2013 09:30:39
Demonstrativo de Resultado
Critérios: Data Inicial: 01/12/2012 - Data Final: 30/12/2012
Red.Conta Percentual % Saldo $
Empresa: POSTO
153 4 RECEITAS 100,0000 % 9.999.999,99
154 4.1 RECEITAS OPERACIONAIS 100,0000 % 9.999.999,99
155 4.1.01 VENDAS 100,0000 % 9.999.999,99
201 4.1.01.01 VENDAS COMBUSTÃVEIS 100,0000 % 9.999.999,99
204 4.1.01.02 RECEITAS BALDE 100,0000 % 9.999.999,99
207 4.1.01.03 VENDAS GALAO 100,0000 % 9.999.999,99
210 4.1.01.04 VENDAS LITRO 100,0000 % 9.999.999,99
Impresso em: 02/04/2013 09:30:39 1 /3 XXXXXXXXXX 3.4.0.20 - (DB: 118)..
Relatório: 8 - Demonstrativo de Resultado - /2013 09:30:39
Red.Conta Percentual % Saldo $
102 3.2 DESPESAS OPERACIONAIS 100,0000 % 9.999.999,99
103 3.2.01 DESPESAS COM FUNCIONÃRIOS 100,0000 % 9.999.999,99
105 3.2.01.02 SALáRIOS 100,0000 % 9.999.999,99
106 3.2.01.03 VALE TRANSPORTE 100,0000 % 9.999.999,99
107 3.2.01.04 COMISSõES 100,0000 % 9.999.999,99
108 3.2.01.05 OUTRAS DESPESAS C/ FUNCIONARIOS 100,0000 % 9.999.999,99
109 3.2.01.06 13º SALáRIO 100,0000 % 9.999.999,99
Totalizador Empresa: C.M.V Receita VendResultado (%) Resultado
Lucro Brut9.999.999,99 9.999.999,99 100,00% 9.999.999,99
Despesas Receitas Resultado
Resultado do ExercÃcio:9.999.999,99 9.999.999,99 9.999.999,99
Totalizador Relatório: C.M.V Receita Vendaesultado (%) Resultado
Lucro Bruto:9.999.999,99 9.999.999,99 100,00% 9.999.999,99
Despesas Receitas Resultado
Resultado do ExercÃcio:9.999.999,99 9.999.999,99 9.999.999,99
Impresso em: 02/04/2013 09:30:39 3 /3 XXXXXXXXX 3.4.0.20 - (DB: 118)..
Use um código após importar para arrumar o código abaixo deixa apenas os titulos que são númericos na primeira letra
Sub arrumar()
Dim intRetRow As Long
Dim x As Long
Dim sht As Worksheet
Set sht = ThisWorkbook.Sheets([Ô]Plan1[Ô])
intRetRow = sht.Range([Ô]A65536[Ô]).End(xlUp).Row
For x = intRetRow To 1 Step -1
If Not IsNumeric(Left(sht.Cells(x, 1).Value, 1)) Then
sht.Rows(x).Delete
End If
Next
Set sht = Nothing
End Sub
Ai vc chama uma função assim apos a importação.
Abraço
Sub arrumar()
Dim intRetRow As Long
Dim x As Long
Dim sht As Worksheet
Set sht = ThisWorkbook.Sheets([Ô]Plan1[Ô])
intRetRow = sht.Range([Ô]A65536[Ô]).End(xlUp).Row
For x = intRetRow To 1 Step -1
If Not IsNumeric(Left(sht.Cells(x, 1).Value, 1)) Then
sht.Rows(x).Delete
End If
Next
Set sht = Nothing
End Sub
Ai vc chama uma função assim apos a importação.
Abraço
Faça seu login para responder