前提・実現したいこと
ワークブック内のワークシートを
「移動またはコピー」→「(新しいブック)」として「コピーを作成する」を
マクロ化しようとしています。
テストとしてデスクトップに「フォルダー」という名のフォルダーを配置。
その下に「サブフォルダー」という名のフォルダーと、
「ワークブック.xls」という名のマクロブックを配置しています。
「ワークブック.xls」には「ワークシート」という名のワークシートがあり、
上記の操作をしようとするマクロはまた別のワークブック内にあります。
発生している問題・エラーメッセージ
同ディレクトリに空のフォルダーを作成して、
その中に同じ名前のワークブックを保存しようと思っているのですが、
以下のようなエラーが出てしまいます。
違う階層のフルパスを与えているのに、なぜ同一ブックと認識しているのでしょうか?
お知恵をお借りできれば幸いです。
該当のソースコード
VBA
1Sub Test_Copy() 2 3 Dim wb As Workbook 4 Set wb = Workbooks.Open("C:\Users\User_Name\Desktop\フォルダー\ワークブック.xls") 5 6 wb.Worksheets("ワークシート").Copy 7 ActiveWorkbook.SaveAs Filename:="C:\Users\User_Name\Desktop\フォルダー\サブフォルダー\ワークブック.xls" 8 9End Sub 10
参考にしたサイト
http://officetanaka.net/excel/vba/tips/tips170.htm
補足情報(FW/ツールのバージョンなど)
Excel 365
詳細説明
新しいワークブックを作成してからワークシートをコピーしていたのですが、
このやり方だと破線の改ページの設定が引き継がれず、
(新しいブック)にコピーをするとうまくいくようなので、
上記のような手続きを取ろうとしています。
ワークブック自体をコピーすることは解決方法にはなりません。
なぜなら、コピーしようとするワークブックにはマクロが入っており、
ワークシートだけをコピーしてモジュールを切り離すことで
マクロを除外しようと考えているからです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/20 06:37