色々試したコードを書いてみてください、少し手直しするだけで使えそうなら修正案を回答してあげますよ
ほとんどコードを作ってないとか他所のサイトの丸コピーコードだとしたら回答しませんが
前提・実現したいこと
Excelのマクロを用いて複数のブックに対し、シートのコピー(追加)を行うプログラムを実現したいです。
色々試してみましたが自分では難しかったので、もし宜しけれご教授ください!
発生している問題・エラーメッセージ
該当のソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
Sub Sample()
Dim myPath As String, myBook As String
myPath = "C:\Users\swprj\Desktop\テスト\"
myBook = Dir(myPath & "*.xlsx")
Do Until myBook = ""
Workbooks.Open myPath & myBook
★ Call Sheets(1).Copy(before:=Workbooks(myBook).Worksheets(3))
Workbooks(myBook).Close SaveChanges:=True
myBook = Dir
Loop
End Sub
上記のコードが自分の作成した最終形でした。
恐らく★のところの処理がうまくいってない様なのですが、
対処法が分かりません。宜しくお願いします。
それで動くけど、どんなエラーが出るんです?
念のためエクセルのバージョンも書いた方がいいかもしれないですね
エラーは出ないのですが、★の部分のシートをコピーの部分が何故か反映されておらず、
対象のブックを開いてみると何も変わらずという感じになってしまっています。
普通にコピーされて保存されますけどね
myBookにはちゃんとファイルのパス入ってます?debug.printで確認してみてはどうでしょうか
やはりmybookにはちゃんとパスが入っており、保存もされていました。(変更日時を確認)
ですが、肝心のコピーが行われておりませんでした。。
どうやらコピーメソッドの性質上開いた先のブックがアクティブブックになってしまうらしく、それが悪さをしているみたいでした。
あなたの回答
tips
プレビュー