Boa noite galera.
Preciso importar vários arquivos TXT para uma planilha Excel, os arquivos estão na mesma pasta e possuem nomes diferentes, não entendo muito de VBA, mas encontrei a seguinte macro na internet:
Sub ImportarTXT()
Dim Pasta As String
Dim Arquivo As String
Dim LinInicial As Long
Dim LinFinal As Long
'Abre caixa de diálogo para selecionar a pasta onde estão
'os arquivos
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Pasta = .SelectedItems(1)
End With
Arquivo = Dir(Pasta & "*.txt")
While Arquivo <> ""
Workbooks.OpenText Filename:=Pasta & "" & Arquivo, _
DataType:=xlDelimited, Other:=True, OtherChar:=";", _
FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1))
'Linha inicial onde deve-se colocar o nome do arquivo
LinInicial = ThisWorkbook.ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Offset(1, 0).Row
ActiveSheet.[A1].CurrentRegion.Copy _
ThisWorkbook.ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Offset(1, 0)
'Linha final onde deve-se colocar o nome do arquivo
LinFinal = ThisWorkbook.ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Offset(1, 0).Row
ThisWorkbook.ActiveSheet.Cells(LinInicial, "W").Resize(LinFinal - LinInicial, 1).Value = Arquivo
ActiveWorkbook.Close False
Arquivo = Dir
DoEvents
Wend
MsgBox "Fim de Execução da Macro"
End Sub
A principio nos meus testes com menos arquivos (cerca de 6), ela solucionou o meu problema, porem agora com todos os TXT que preciso (682), ela esta apresentando erro, acredito que seja devido ao numero máximo de linhas de cada planilha, gostaria de saber se existe algum comando que faça que a importação prossiga na planilha 2 quando o limite da 1 for atingido.
Desde já Grato.
Postado : 15/03/2016 6:57 pm