- 締切済み
VBAで実行時エラー1004が出てしまう
実行時エラー1004で「申し訳ございません。が見つかりません。名前が変更されたか、移動や削除がおこなわれた可能性があります。」と表示されてしまう。 あるフォルダ内にある複数のファイルから、作成日・更新日が最新のファイルのシートを作業中のブックにコピーするVBAなのですが上記のエラーが出てしまい原因が分かりません。 VBA初心者なので基本的なことかもしれませんがアドバイスよろしくお願い致します。 Sub コピー() Dim FileTime As Date Dim MaxTime As Date Dim FileName As String Dim MaxFileName As String With CreateObject("WScript.Shell") 'カレントフォルダを指定 .CurrentDirectory = "C:\Users\○○\Desktop\○○\○○\○○\" End With FileName = Dir("*.xlsx") 'ワイルドカードで拡張子「xlsx」ファイルを取得 Do While FileName <> "" 'ファイルを取得出来なくなるまでループ FileTime = FileDateTime(FileName) '取得したファイルの日時を取得 If FileTime > MaxTime Then '時間を比較 MaxTime = FileTime '日付が大きい場合は格納 MaxFileName = FileName '日付が大きい場合はファイル名を格納 End If FileName = Dir() Loop ShCount = ThisWorkbook.Worksheets.Count '実行したファイルのシート数を取得 Workbooks.Open MaxFileName ←ここでエラーが出る Worksheets(2).Copy after:=ThisWorkbook.Worksheets(ShCount) 'シートの2つ目を指定して末尾に追加 Workbooks(FileName).Close savechanges:=False '取得したファイルを閉じる End Sub
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- readme_eml
- ベストアンサー率33% (4/12)
Workbooks.Open MaxFileName ←ここでエラーが出る MaxFileNameをルートからのフルパスにする必要がありますね。 C:\abc\efg\hijk.xlsx MaxFileNameにはhijk.xlsxしかはいっていません。