Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
IMPORTAR TXT A PARTIR DE CERTA POSIÇÃO-RESOLVIDO-
Re: IMPORTAR TXT A PARTIR DE CERTA POSIÇÃO-RESOLVIDO-
Obrigado Reinaldo.
Estou tentando entender um pouco mais deste código pq ele é bem útil e como estou iniciando no VBA agora então estou com algumas dificuldades.
Como disse anteriormente precisava que o retorno da linha fosse somente se a partir da posição 296 o conteúdo fosse "130818".
Para isso apenas deixei comentado no código a linha:
If xAsc > 64 And xAsc < 91 Then
E tirei a linha abaixo como comentada.
If Mid(L, 296, 6) = "130818" Then
Dessa maneira não houve nenhum retorno na planilha.
Para o que necessito é preciso de uma nova estrutura de repetição?
Qual a parte do código em que ele por exemplo identifica a posição onde esta o nome do cliente no arquivo txt e traz ele para a planinha com o número de caracteres correto?
Estou tentando entender um pouco mais deste código pq ele é bem útil e como estou iniciando no VBA agora então estou com algumas dificuldades.
Como disse anteriormente precisava que o retorno da linha fosse somente se a partir da posição 296 o conteúdo fosse "130818".
Para isso apenas deixei comentado no código a linha:
If xAsc > 64 And xAsc < 91 Then
E tirei a linha abaixo como comentada.
If Mid(L, 296, 6) = "130818" Then
Dessa maneira não houve nenhum retorno na planilha.
Para o que necessito é preciso de uma nova estrutura de repetição?
Qual a parte do código em que ele por exemplo identifica a posição onde esta o nome do cliente no arquivo txt e traz ele para a planinha com o número de caracteres correto?
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: IMPORTAR TXT A PARTIR DE CERTA POSIÇÃO-RESOLVIDO-
"...Dessa maneira não houve nenhum retorno na planilha. ..."
Se está utilizando o arquivo exemplo, veja que no txt anexo não há registros com "130818", então não retornará registro algum.
Altere 130818 para "130918" e veja o resultado
Se está utilizando o arquivo exemplo, veja que no txt anexo não há registros com "130818", então não retornará registro algum.
Altere 130818 para "130918" e veja o resultado
Código: Selecionar todos
'INSERIR DADOS NA PLANILHA
'-------------------------------------------------------------
Do While Not EOF(I)
frmmenu.LBLSTATUS.Caption = "PROCESSANDO LINHA:" & LN - 1
DoEvents
Line Input #I, L
'Verifica se o valor da string é o esperado
If Mid(L, 296, 6) = "130918" Then
W.Cells(LN, COL).Value = Mid$(L, PTI1, PTF1)
W.Cells(LN, COL + 1).Value = Mid$(L, PTI2, PTF2)
W.Cells(LN, COL + 2).Value = Mid$(L, PTI3, PTF3)
W.Cells(LN, COL + 3).Value = Mid$(L, PTI4, PTF4)
W.Cells(LN, COL + 4).Value = Mid$(L, PTI5, PTF5)
LN = LN + 1
End If
Loop