|
以前は、指定したファイルを開く方法で投稿させてもらい、解決できたのですが、
処理内容が変わりまして、
今度は、末尾[BS]となっているファイルを順番にエクセルに読み込んでいく…という動作をさせたいと思っています。
どうしても、いまいちできずに悪戦苦闘しております
お分かりになる方、どうか、教えていただけないでしょうか?
よろしくお願いします
Cドライブの中の[Temp]フォルダの中にテキストデータが複数存在します
現在は100件くらいファイルが入っています
例えば、下記のようなテキストデータが入っているフォルダがあります
ABC_部品A_---A_PS.txt
ABC_部品A_---A_BS.txt
ABC_部品B_---A_PS.txt
ABC_部品B_---A_BS.txt
ABC_部品C_---A_PS.txt
ABC_部品C_---A_BS.txt
例えば、ファイルの末尾が[BS]となっているテキストファイルのデータを順番にエクセルに読み込む動作をさせたいのです
(上記の場合だと、3つのファイルの内容を一つのエクセルシートに読込みたい)
現在は下記のようなコードになっています
今は、指定したファイルを開いて、エクセルに読み込むというVBAになっています。
Sub txt取込()
Dim i As Integer, j As Integer
Dim Mytxt As String, Mystr As String
Dim MyRange As Range, TmpRange As Range
Dim FileName As String
Dim myPath As String
Dim strDir As String
Worksheets.Add before:=Worksheets(1)
Worksheets(1).Name = "txtData"
FileName = "部品A"
strDir = "C:\Temp\"
Mytxt = Dir(strDir & "\ABC_" & FileName & "*BS.txt")
Worksheets("txtData").Activate
Range("A1").CurrentRegion.Clear
Set MyRange = Range("A1")
Open strDir & Mytxt For Input As #1
Do Until EOF(1)
Line Input #1, Mystr
MyRange.Offset(i).Value = Mystr
i = i + 1
Loop
Close #1
Set TmpRange = Range(MyRange, MyRange.End(xlDown))
TmpRange.TextToColumns DataType:=xlDelimited, comma:=True, _
fieldinfo:=Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1))
end sub
VBA初心者ですが、よろしくお願いします
|
|