サブルーチンを理解する(Microsoft Excel)
Excelでマクロを作成するときは、Visual Basic for Applications(VBA)と呼ばれるプログラミング言語を使用します。これはBASICプログラミング言語に基づいており、Excelに固有の拡張機能があります。この言語の機能の1つは、プログラムでサブルーチンを使用する機能です。たとえば、次のVBAマクロについて考えてみます。
Sub Macro1() TestSub End Sub
Sub TestSub() MsgBox "In the subroutine" End Sub
この単純なマクロ(Macro1)は、サブルーチン(TestSub)を呼び出すだけで、サブルーチン内にあることを通知するメッセージボックスを表示します。 [OK]をクリックしてメッセージボックスを閉じると、サブルーチンは終了し、制御をメインプログラムに戻します。 VBAプログラムには、必要な数のサブルーチンを含めることができます。それぞれの目的は、同じコードを常に書き直す必要がないように、共通のタスクを実行することです。
サブルーチンにパラメーターを渡すこともできます。これらのパラメーターは、サブルーチンによって操作できます。たとえば、次のマクロについて考えてみます。
Sub Macro1() A = 1 PrintIt A End Sub
Sub PrintIt(x) MsgBox "Value: " & x End Sub
これは、変数を設定し、それをサブルーチン呼び出しでPrintItに渡す単純なマクロです。このサブルーチンは、変数の値をメッセージボックスに表示し、([OK]を押した後)呼び出し元のプログラムに戻ります。
サブルーチンは、渡されたものと同じ変数名を使用しないことに注意してください。これは、VBAがxの値(サブルーチンが受け取ることを期待するもの)を再割り当てして、Aの値(プログラムがサブルーチンに渡すもの)と一致するようにするためです。サブルーチンにパラメーターを渡す際に覚えておくべき重要なことは、プログラムがサブルーチンが期待するのと同じ数のパラメーターを渡す必要があり、パラメーターが一致するタイプで適切な順序である必要があるということです。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2258)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。