1
resposta

VBA automatização

Boa tarde,

Criei o seguinte código, para ler um arquivo txt que vem com as informações todas juntas

Sub extrairCodigo()

    For linha = 2 To 6
    
       
            
            texto = Cells(13, 1).Value
    
            segTraco = InStr(texto, "0FSB")
            
    
            nome = Mid(texto, 90, 20)
            curso = Mid(texto, 29, 8)
            pedido = Mid(texto, 60, 7)
    
            Cells(7, 2).Value = nome
            Cells(7, 3).Value = pedido
            Cells(7, 4).Value = curso
        
     
      Next

    
End Sub

Porém, eu queria que a linha fosse atualizada automaticamente ou seja que ele percoresse todo o excel buscando as linhas que começam com 0FSA e me retornasse o valores, porém no campo linha eu tenho que ficar digitando manual.

Qual a melhor forma de fazer o for entender que ele deve percorrer todas as linhas, sem fica colocando manual.

1 resposta

Oi, Elaine, tudo bem?

Uma maneira de percorrer todo o Excel buscando as linhas desejadas e retornando os valores automaticamente pode ser feito alterando a linha:

For linha = 2 To 6

Pelo código abaixo:

For linha = 2 To Cells(Rows.Count, 1).End(xlUp).Row

Este é um loop que percorre as linhas da coluna 1 (coluna A) a partir da linha 2 até a última linha preenchida na coluna A. Usamos Cells(Rows.Count, 1).End(xlUp).Row para encontrar a última linha preenchida na coluna A. Dessa forma, o código irá percorrer todas as linhas preenchidas na coluna, começando da linha 2 até a última linha preenchida.

Deixo abaixo o código modificado:

Sub extrairCodigo()

    For linha = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    
        texto = Cells(linha, 1).Value
    
        segTraco = InStr(texto, "0FSB")
    
        nome = Mid(texto, 90, 20)
        curso = Mid(texto, 29, 8)
        pedido = Mid(texto, 60, 7)
    
        Cells(7, 2).Value = nome
        Cells(7, 3).Value = pedido
        Cells(7, 4).Value = curso
    
    Next

End Sub

Todavia, vale ressaltar que como não tenho acesso ao cenário completo do projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!