スポンサードリンク

Excel VBA 標準モジュールは、複数作成することができます。

Excelで標準モジュールを作成(挿入)する時には、複数作ることが可能です。

試しにもう一つ標準モジュールを作成してみてください。

excel-vba-41.gif

複数の標準モジュールを作成すると、役割ごとにユーザー定義関数を分類できるので、とても便利です。

また標準モジュール名は、連番で自動的に付けられます。もちろん自由に変えることもできます。

標準モジュールの名前を変更するには、プロジェクトエクスプローラで、対象となる標準モジュールを選択し、プロパティで「オブジェクト名」を変更します。

excel-vba-36.gif

でも今回は名前を変更せずに、そのままにしておいてください。

これまで標準モジュールに作成したユーザー定義関数を利用するには、以下のように呼び出しました。


=calcGankin(1000,0.5)


でも正確には、次のように書きます。

=Module1.calcGankin(1000,0.5)


この二つの違いは、関数名の前に「標準モジュール名.」があるかどうかだけです。

calcGankin()という関数は、一つしか無いので、標準モジュール名を省略できたわけです。

実は標準モジュールが複数ある場合は、同じ名前のユーザー定義関数を作成できます。

まったく同じ関数名で、異なった処理を行ない、戻り値を返すことも可能です。

そうなると関数名だけでは、どちらの関数を指しているかわかりません。そこで必ず標準モジュール名から指定して、区別する必要があります。

同じ関数名を作らなければ、標準モジュール名を省略しても大丈夫です。

Excelの既存の関数と同じ名前も避けたほうが無難です。

でもあえて既存の関数名と同じにして、使いやすいように独自の関数をVBAで定義する手もあります。

例えば COUNT() という関数は既にありますが、標準モジュールを使って、独自に定義することが可能です。そんな時は、もちろん標準モジュールから指定します。

また不要になった標準モジュールは、削除(解放)することができます。

削除したい標準モジュールをマウスで右クリックし、コンテキストメニューから、「Module の解放」を選択します。

excel-vba-38.gif

するとModuleをエクスポートするかどうかのメッセージが表示されるので、「いいえ」を選択します。

excel-vba-39.gif


【ワンポイント】
標準モジュールを解放する時に、「はい」を選択すると、ファイルとしてエクスポートすることが出来ます。

エクスポートしたファイルは、別のExcelにインポートすることが可能です。

あなたが作成した標準モジュールを、他の人にも利用させてあげたい時に便利です。

スポンサードリンク






Excel VBA 初心者入門講座 TOPへ