2017-03-22 9 views
1

私は新しいファイルに対処しているExcelで一連のシートを持っています。シートの1つに、元のファイルのマクロを参照するオブジェクトボタンがあります。新しい作成されたファイルで、ボタンは元のファイルのマクロを参照します。マクロ付きVBAコピーシート

私はシートを転送するために使用するコードは

Sheets(Array("A", "B", "C", "D", "E")).Copy 
ActiveWorkbook.SaveAs Filename:= "\\XXX\" & Filename & ".xlsb" _ 
    , FileFormat:=xlExcel12, CreateBackup:=False 
ActiveWindow.Close 

に従っていることは、シートをコピーするときに、マクロを転送し、新しいファイルにボタンを参照することは可能ですか?

+4

しかし、あなたはvbaプロジェクトオブジェクトモデルを信頼する必要があります。別の簡単な解決方法は、ブック全体をコピーとして保存し、関連しないシートを削除することです。これにより、コードを大幅に少なくし、マクロを手元に保つことができます。 – Tom

+0

どのようなボタンですか?フォームまたはActiveX? –

+0

ボタンはイメージです(丸で囲んだ丸で囲んだ情報と私は同じです) – Selrac

答えて

2

ワークブック全体を新しいファイルとして保存し、必要のないシートを削除してみてください。そうすれば、マクロとリフレクションを適切に維持できます。元のファイルのマクロが名前(like workbooks(filename))で結ばれている場合は、元のファイルのThisWorkbookまたは同様のダイナミックリファレンスに変更する必要があります。

+0

ありがとう、これは良いアプローチのようです – Selrac