VBA性能向上委員会

VBAプログラミングの実行速度に関して、より速い性能を求めて徹底検証をします。


HOME > VBA入門 > モジュールとは

モジュールとは

モジュールとは、プログラムの集まりのことです。

逆を言えば、プログラムを書くところが、モジュールといえます。

まずは、モジュールを作成してからプログラムを書きましょう。



新しいモジュールを作成するには

新しいモジュールを作成するには、VBEのプロジェクトウィンドウにて右クリックをし、

「挿入」-「標準モジュール」を選択します。

新しいモジュールを作成するには



プログラムを書くには

上記の手順にて作成したモジュールにプログラムを書くには、プロシージャというものを書く必要があります。

プロシージャとは、実行されるプログラムの最小単位で、このプロシージャを実行することにより、「新しいワークシートを作成」したり「セルのフォントを変更」したりすることができるようになります。

プロシージャには、SubプロシージャFunctionプロシージャがあります。


Subプロシージャ

Sub プロシージャ名()
’ ここに処理を書きます。
End Sub

Functionプロシージャ

Function プロシージャ名()
’ ここに処理を書きます。
End Function


SubプロシージャとFunctionプロシージャの違い

SubプロシージャとFunctionプロシージャの大きな違いは、2つあります。

1つ目は、「戻り値を返すか、返さないか」です。

Subプロシージャは、戻り値を返しません。

Functionプロシージャは、戻り値を返します。


2つ目は、「マクロの実行から呼ぶか、呼ばないか」です。

Excelのメニューバーにて「ツール」-「マクロ」-「マクロ」または、開発リボンにて「マクロ」を選択すると、実行したいマクロ名(プロシージャ名)を指定することができます。

ここでは、実行したいマクロのリストに表示されるか否かを指します。

Subプロシージャは、リストに表示されます。

Functionプロシージャは、リストに表示されません。


まとめると、

「Subプロシージャはメインで実行するもの」

「Functionプロシージャは別のプロシージャから呼ばれて実行されるもの」

であることがわかります。


SubとFunctionの違い

マクロの実行