複数の大きなテキスト ファイルを同じワークブック内の複数のスプレッドシートにインポートしようとしています。このサイトの他の投稿のおかげで、仕事をしていると思われるいくつかの VBA コードをまとめました。唯一の問題は、データがテキスト ファイル内でラベル付けされていないため、分析のためにそれらを区別するのが難しいことです。そのため、インポート プロセス中に、対応するテキスト ファイルで各スプレッドシートにラベルを付けたいと思います。私が使用しているコードは次のとおりです。
ありがとう!
Sub ImportManyTXTs()
Dim strFile As String
Dim ws As Worksheet
strFile = Dir("I:\test\*.txt")
Do While strFile <> vbNullString
Set ws = Sheets.Add
With ws.QueryTables.Add(Connection:= _
"TEXT;" & "I:\test\" & strFile, Destination:=Range("$A$1"))
.Name = strFile
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileFixedColumnWidths = Array(7, 9)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
strFile = Dir
Loop
End Sub
編集:それを理解することができました。End With の後に ws.Name = strFile を追加しました。かなりうまくいくようです。