質問: dir() loop end sub ------------------------------ mybookというキーワードを使用して、a2セルデータをコピーする構文をご教示いただけませんでしょうか。 以上、長々となってしまいましたが、何卒アドバイスの程お願いいたします。
回答: 複数のbookやsheetの処理をする場合 #1さんも言われてるように、book、sheetを省略すると 現在アクティブになっている、book、sheetを指定したことになってしまいます 一応、修正してみましたが sheet名が不明なため"activesheet"としていますが 複数sheetがある場合、希望どおりの結果を得られない可能性があるので "workheet("処理対象シート名")"に変更した方がよいと思います sub 特定フォルダ内ブックを並べ替えて転記() dim mydir as string, myname as string, mybook as workbook dim motodata as range, sakidata as range dim 転記先 as worksheet, 転記元 as worksheet set 転記先 = thisworkbook.activesheet '集計用のブックがあるフォルダ名を指定 mydir = "d:\vba練習" myname = dir(mydir & "\" & "*.xls") do while myname <> "" '↓転記先の最新レコード位置を取得する set sakidata = 転記先.range("a65536").end(xlup).offset(1) '↓(1)指定した名前のブックを開いて変数に格納する set mybook = workbooks.open(filename:=mydir & "\" & myname) '↓(2)転記元を取得する set 転記元 = mybook.activesheet set motodata = 転記元.range("a2") '↓(3)転記先に貼り付ける motodata.copy sakidata '↓(4)開いたブックを閉じる mybook.close myname = dir() loop end sub 参考まで