Jump to content

AlexSousa

Membros
  • Contagem de Conteúdo

    1
  • Ingressou

  • Última visita

Tudo que foi postado por AlexSousa

  1. Olá, criei uma macro recentemente onde importo um arquivo txt para o excel, porém tenho vários desses txt onde os dados são diferentes. E nesses txt sempre vem com umas palavras, como titulos e descrição, eles tem um padrão que sempre vem em 8, porém podem acontecer de vir 8 linhas dessas palavras, um abaixo da outra tanto no inicio do txt quanto no final. Queria saber se é possivel fazer uma macro para que filtre esses dados e apague automaticamente na hora da importação? OBS: Ele precisa localizar onde estão essas palavras e excluir, independente da célula que ela esteja. Gostaria de filtrar essas palavras e apagar automaticamente: "* AS - IMPL", "-----------", "BRB - BANCO", "C/C VINCULA", "ECC - SISTE", "i") Segue minha macro onde importa os arquivos txt: Sub lerTxt() Dim sheet As Worksheet Dim selecao As Variant Dim i As Integer, linha As Integer selecao = Application.GetOpenFilename(Filefilter:="Texto, *.txt", Title:="Selecione um arquivo", MultiSelect:=True) If VarType(selecao) = vbBoolean Then Exit Sub 'Nenhum arquivo selecionado 'Se não for boolean, é uma array de strings com caminhos de arquivo. ' Aqui é que você tem que iterar, pois "selecao" contém uma array com caminhos de arquivo. ' Dentro de cada iteração, você faz aquilo que você já estava fazendo. For i = 1 To UBound(selecao) Step 1 Open selecao(i) For Input As #1 Set sheet = ActiveWorkbook.Sheets.Add(After:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)) linha = 1 Do Until EOF(1) Line Input #1, valorLin Cells(linha, 1).Value = valorLin linha = linha + 1 Loop Close #1 sheet.UsedRange.TextToColumns Other:=True sheet.Columns().EntireColumn.AutoFit Next i End Sub
×
×
  • Create New...