Você pode tentar envolver o código atual em um loop como este usando Dir
. Não consegui testar o ws.queryTables.Add
bit, mas o Dir
bit faz um loop apropriadamente através dos arquivos na pasta especificada. Isso também pressupõe que você deseja todos os arquivos .dat na pasta especificada.
Sub CSV_Import()
Dim ws As Worksheet, strFile As String
Set ws = ActiveWorkbook.Sheets("Sheet1")
'set to current worksheet name
strFile = Dir("\path\to\file\*.dat")
Do While Len(strFile) > 0
With ws.QueryTables.Add(Connection:="TEXT;" & strFile, Destination:=ws.Range("A1"))
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh
End With
'Debug.Print strFile
strFile = Dir
Loop
End Sub