※ ChatGPTを利用し、要約された質問です(原文:【VBA】ファイルを開く→シートをコピー→保存)
【VBA】ファイルを開く→シートをコピー→保存
このQ&Aのポイント
VBAを使って、複数ファイルを一気に編集する方法について教えてください。
特定のフォルダ内にある複数のエクセルブックを開き、1ページ目のシートを複製して保存するVBAのコードを実行したいです。
上記のVBAコードを書いて実行してみたのですが、うまく動作しません。どこが間違っているか教えてください。
VBAを使って、複数ファイルを一気に編集したいです。
あるフォルダ内に、複数のエクセルブックと
VBAを登録したブックが入っています。
VBAの内容としては、
(1)フォルダ内のエクセルファイルをすべて開く
(2)各ファイル1ページ目のシートを複製(コピー)する
(3)上書き保存して閉じる
(4)VBAを登録したブックを閉じる
です。
下記のように書いてみたのですが、まったく動かないので
どこが間違っているかのアドバイスをいただければと思います。
-----------------------------------------------------
Sub test()
Dim Myfile, Filepath As String
Filepath = ThisWorkbook.Path 'フォルダ名取得
Myfile = Dir(Filepath & "\") 'フォルダ内のファイル名取得
Do While Myfile <> ""
Workbooks.Open Filename:=Filepath & "\" & Myfile
Workbooks(Myfile).Activate
Sheets(1).Select
Sheets(1).Copy after:=Sheets(1)
Workbooks(Myfile).Close SaveChanges:=True
Myfile = Dir()
Loop
ThisWorkbook.Close SaveChanges:=True
End Sub
-----------------------------------------------------
よろしくお願いいたします。
お礼
>エラーメッセージか何か出ますか? 何もメッセージ等出ないのですが、処理がされないという状態でした。 >2)自ブックは除外する。 こちらを試してみたところ、無事動きました! 的確なアドバイスありがとうございます。 まだまだVBA初心者なので、これからも勉強したいと思います。 ありがとうございました!