Página 3 de 3

Re: IMPORTAR TXT A PARTIR DE CERTA POSIÇÃO-RESOLVIDO-

Enviado: Ter Jan 14, 2020 9:43 pm
por Reinaldo
Sim, a priori é possivel

Re: IMPORTAR TXT A PARTIR DE CERTA POSIÇÃO-RESOLVIDO-

Enviado: Qua Jan 15, 2020 5:52 pm
por fao17
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?

Re: IMPORTAR TXT A PARTIR DE CERTA POSIÇÃO-RESOLVIDO-

Enviado: Qui Jan 16, 2020 10:03 am
por Reinaldo
"...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

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