VBA・Excel マクロやフォームをインポート・エクスポートするコード

VBA マクロをインポート

 

どうもmMmです!

別ブックにマクロをインポートしたいときありますよね。

 

VBAの書き方とか知ってるからサクッとコードだけ教えてほしい・・・

そんなアナタと私のための記事です。

 

ついでにフォームのインポートとエクスポートも紹介します!

 

 

スポンサーリンク

事前に参照設定が必要です!

 

VBA 参照設定

 

Microsoft Visual Basic for Application Extensibilly 5.3」が必要です。

 

VBA画面からツール⇒参照設定を開いて「Microsoft Visual Basic for Application Extensibilly 5.3」にチェックを入れてOKを押しましょう。

 

参照設定しないとコードが正しくても、エラーが発生して実行できません!

 

コピペで使えるコード

 

マクロをエクスポートするコード

 

Sub MacroExport()
'=====================================================================
'Module1をエクスポートするコード
'=====================================================================

'エクスポートするフォルダを設定
output_Path = ActiveWorkbook.Path

Set my_component = ActiveWorkbook.VBProject.VBComponents

my_component("module1").Export output_Path & "\" & "Module1.bas"

End Sub

 

 

マクロをインポートするコード

 

Sub MacroImport()
'=====================================================================
'Module1をインポートするコード
'=====================================================================

'インポートするファイルを設定
import_Path = ActiveWorkbook.Path & "\" & "Module1.bas"

Set my_component = ActiveWorkbook.VBProject.VBComponents

ActiveWorkbook.VBProject.VBComponents.Import import_Path

End Sub

 

 

フォームをエクスポートするコード

 

Sub FormExport()
'=====================================================================
'UserForm1をエクスポートするコード
'=====================================================================

'エクスポートするフォルダを設定
output_Path = ActiveWorkbook.Path

Set my_component = ActiveWorkbook.VBProject.VBComponents

my_component("UserForm1").Export output_Path & "\" & "UserForm1.frm"

End Sub

 

 

フォームをインポートするコード

 

Sub FormImport()
'=====================================================================
'UserForm1をインポートするコード
'=====================================================================

'インポートするフォームを設定
import_Path = ActiveWorkbook.Path & "\" & "UserForm1.frm"

Set my_component = ActiveWorkbook.VBProject.VBComponents

ActiveWorkbook.VBProject.VBComponents.Import import_Path

End Sub

 

 

違うBookにマクロをコピーするコード

 

Sub MacroCopy()
'=====================================================================
'Module1をBook2にコピーするコード
'=====================================================================

'マクロを設置するフォルダ場所を指定
macro_Path = ActiveWorkbook.Path & "\" & "Module1.bas"

Set my_component = ActiveWorkbook.VBProject.VBComponents

'ファイルを一旦エクスポート
my_component("module1").Export macro_Path

'エクスポートしたファイルをインポート
Workbooks("Book2.xlsx").VBProject.VBComponents.Import macro_Path

End Sub

 

 

「・・・信頼性に欠けます」とエラーが出た場合

 

実行時エラー1004

 

↑のような、実行時エラー ’1004’が発生した場合は下記にチェックを入れましょう。

 

Excelオプション ⇒ セキュリティセンター ⇒ セキュリティセンターの設定 ⇒ マクロの設定 ⇒ 「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」

 

コメント