1

複数の大きなテキスト ファイルを同じワークブック内の複数のスプレッドシートにインポートしようとしています。このサイトの他の投稿のおかげで、仕事をしていると思われるいくつかの 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 を追加しました。かなりうまくいくようです。

4

1 に答える 1

1

それを理解することができました。End With の後に ws.Name = strFile を追加しました。かなりうまくいくようです。

于 2013-08-12T22:18:25.447 に答える