Ir ao conteúdo
  • Cadastre-se

Excel Importação de txt com condição


Ir à solução Resolvido por Midori,

Posts recomendados

Olá,

Preciso importar diariamente um txt que possui mais de 2 milhoes de linhas, mas na verdade uso por volta de 20.000 registros.

como eu conseguiria importar apenas os registros se um determinado campo obedecer a uma condição?

 

Por exemplo no txt em anexo, eu gostaria de importar apenas os registros que no campo estado civil estiver excrito "solteiro". 

E não precisaria importar todos os dados da mesma linha, por exemplo, só traria o nome, idade e estado civil. 

 

Obrigado!

exemplo.txt

Link para o comentário
Compartilhar em outros sites

  • Solução

@Kleber Bispo  Edite o caminho correto do arquivo e índice do campo se for preciso.

 

Neste caso o índice 0 é nome, 1 idade e 3 estado civil

 

Sub Macro()
    Dim Registro    As String
    Dim L           As Long
     
    Open "C:\Exemplo.txt" For Input As #1
    
    Do Until EOF(1)
        Line Input #1, Registro
        If Split(Registro, ";")(3) = "solteiro" Then
            L = L + 1
            Cells(L, 1) = Split(Registro, ";")(0)
            Cells(L, 2) = Split(Registro, ";")(1)
            Cells(L, 3) = Split(Registro, ";")(3)
        End If
    Loop
    
    Close #1
End Sub

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

24 minutos atrás, Midori disse:

@Kleber Bispo  Edite o caminho correto do arquivo e índice do campo se for preciso.

 

Neste caso o índice 0 é nome, 1 idade e 3 estado civil

 


Sub Macro()
    Dim Registro    As String
    Dim L           As Long
     
    Open "C:\Exemplo.txt" For Input As #1
    
    Do Until EOF(1)
        Line Input #1, Registro
            If Split(Registro, ";")(3) = "solteiro" Then
                L = L + 1
                Cells(L, 1) = Split(Registro, ";")(0)
                Cells(L, 2) = Split(Registro, ";")(1)
                Cells(L, 3) = Split(Registro, ";")(3)
            End If
    Loop
    
    Close #1
End Sub

 

@Midori Obrigado pelo retorno.

Vi que no momento que abre o arquivo, passou o parametro (acho que é um parametro): For Input as #1 e depois esse #1, utilizou no Do Until e na primeira linha depois do Do Until.

 

Eu conseguiria utilizar o GetOpenFileName para abrir mais de um txt? como é possivel adaptar esse #1? Não entendi para que ele serve.

 

Desculpa se eu estiver abusando...

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...