• 締切済み

ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい

シートをコピーして新規Bookで保存するマクロを作成しています。 このシートには「クリックするとユーザーフォームを開く」ボタンをつけているのですが、コピー先のBookにユーザーフォームをコピーすることができません。 (全て自動化したいので、両方のBookをVBEで開いてドラッグでコピーするようなことは考えていません。) 良い方法がありましたら、アドバイスください。 よろしくお願いします。

みんなの回答

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

フォームをエクスポートして新しいブックにインポートすればOKです。 下はユーザーフォームのMyFormをC:\myform.frmにエクスポーとして新しいブックにインポートする例です。 Dim newBook As Workbook ThisWorkbook.VBProject.VBComponents.Item("MyForm").Export "C:\myform.frm" Set newBook = Workbooks.Add newBook.VBProject.Import "C:\myform.frm"