Excel:VBAで複数の関数をひとつにまとめる方法

記事公開日:
最終更新日:

This post is also available in: English-US (英語)

ExcelVBAを使っていて、複数の関数をひとつにまとめたい場合のサンプルコードです。
Excelのフォームコントロールボタンにマクロを割り当てる際に、関数をひとつにまとめて、ボタンをクリックすると複数の関数を実行したい等の場合に必要です。

Excelの Visual Basic Editor に以下の名前のシートと、関数があると仮定します。
ExcelのSheet1のシート名がSampleSheet01で、SampleFunc01()という関数があるという意味で、Sheet2,Sheet3も同様です。

Sheet1(SampleSheet01),SampleFunc01()
Sheet2(SampleSheet02),SampleFunc02()
Sheet3(SampleSheet03),SampleFunc03()

以下の Matomeru() 関数をどのシートでも良いので用意して、フォームコントロールボタンにマクロを割り当てると、Matomeru() 関数が実行され、SampleFunc01(),SampleFunc02(),SampleFunc03()が実行されるかと思います。
また、Call でシートの関数を呼び出す方法には他の書き方もありますので、調べてみてください。

Sub Matomeru()
 Call Sheets("Sheet1").SampleFunc01
 Call Sheets("Sheet2").SampleFunc02
 Call Sheets("Sheet3").SampleFunc03
 MsgBox "OK!"
End Sub

Sheet1,Sheet2,Sheet3の代わりに、それぞれのシート名でも呼び出すことが可能です。

Sub Matomeru()
 Call Sheets("SampleSheet01").SampleFunc01
 Call Sheets("SampleSheet02").SampleFunc02
 Call Sheets("SampleSheet03").SampleFunc03
 MsgBox "OK!"
End Sub

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報TwitterLinkedIn、またRSSfeedlyにてお知らせしていますのでフォローよろしくお願い致します。