プロが教えるわが家の防犯対策術!

エクセルで複数のCSVを取得したいです。
その際にシート1のセルにあるファイル名を順番に読み込んで出力しようとしています。

シート1のC8からC10のセルにそれぞれファイル名があります。
(ちなみにCSVにはA列にだけ数値が格納されています)
sample1.csv
sample2.csv
sample3.csv

これを以下のようにfor - nextで上から順番に読み込もうとしたのですがうまくいきません。
何が間違っているのか教えて頂けないでしょうか。よろしくお願いします。

============
Sub TEST()
Dim PATH As String
Dim myFile As String
Dim myPath As String
Dim newWB As Workbook
Dim FileName As String
Dim T As Integer

For T = 8 To 10
FileName = Cells(T, 3)
Next T

myPath = “ここにCSVのあるフォルダのパス”
myFile = myPath & FileName

Do Until myFile = ""
Set newWB = Workbooks.Open(myFile)
‘それぞれ別々のシートに出力します
newWB.Sheets(1).Copy Before:=ThisWorkbook.Sheets(1)
newWB.Close False
myFile = ""
Loop
End Sub

============

A 回答 (2件)

For T = 8 To 10


から
Next T
までの間に全部入れないといけないんじゃないですか。
Do Until myFile = ""
Loop
のループは無意味だと思います。1回しか回らないような。
    • good
    • 0
この回答へのお礼

お二人の言う通りNextの位置が悪いのとDo loopが不要なのが原因でした。
ありがとうございました。

お礼日時:2021/11/16 23:45

Next Tの位置が異常。


上記を正常に修正すれば、DO Loopは不要。
    • good
    • 0
この回答へのお礼

お二人の言う通りNextの位置が悪いのとDo loopが不要なのが原因でした。
ありがとうございました。

お礼日時:2021/11/16 23:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!