Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » ユーザー定義関数の説明をダイアログに表示−MacroOptionsメソッド

ユーザー定義関数の説明をダイアログに表示−MacroOptionsメソッド

対象:Excel97,Excel2000,Excel2002,Excel2003

このサイトではこれまでいくつかユーザー定義関数をご紹介してきました。

いずれもコードを標準モジュールに貼り付けていただければ、通常のワークシート関数と同じように使えるとご紹介してきました。

しかし通常のワークシート関数と異なっている部分もあります。

[関数の挿入][関数の引数]ダイアログなどに、通常のワークシート関数ならば、関数の説明が表示されていますが、ユーザー定義関数では説明が表示されないのです。

[スポンサードリンク]

例えば、
ISERROR関数なら、「セルの内容がエラー値(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、または#NULL)の場合に、TRUEを返します。」
VLOOKUP関数なら、「テーブルの左端列を検索し、指定した列と同じ行にある値を返します。テーブルは昇順で並べ替えておく必要があります。」
といった説明が表示されますが、
ユーザー定義関数の場合、「ヘルプがありません。」
と表示されてしまいます。

ユーザー定義関数は何をするものかわかるように名前をつけるのは当然ですが、自分で作った関数でさえも数が増えれば何をする関数だったか名前だけから判断するのは難しくなってくるのは否めません。

▼操作手順:ダイアログにユーザー定義関数の説明を表示させる
※LastSaveTime関数とViewFormula関数が含まれているブックで説明を表示する例

Excelのメニュー[ツール]−[マクロ]−[Visual Basic Editor]をクリック
 ↓
Visual Basic Editorのプロジェクトエクスプローラで、「ThisWorkbook」をダブルクリック
 ↓
「Workbook_Open」プロシージャを以下のように記述する

Private Sub Workbook_Open()

 Application.MacroOptions _
  Macro:="LastSaveTime", _
  Description:="ファイルの最終更新日時を取得します。"

 Application.MacroOptions _
  Macro:="ViewFormula", _
  Description:="指定されたセルの数式を表示します。"

End Sub
 ↓
Visual Basic Editorを終了

Workbook_Openプロシージャは、ブックが開いたときに実行されるイベントプロシージャで、このプロシージャ内で[関数の挿入]ダイアログなどでどういった説明を表示させるかを、MacroOptionsメソッドで指定するわけです。

MacroOptionsメソッドの、
引数:Macroにはユーザー定義関数名を
引数:Descriptionには説明を
記述します。

もちろん、LastSaveTime関数・ViewFormula関数の実際のコードは、同じブックの標準プロシージャに記述しておいてください。

上記の、Workbook_Openプロシージャと、ユーザー定義関数のLastSaveTime関数・ViewFormula関数の記述されているブックを開くと、[関数の挿入]ダイアログなどにユーザー定義関数の説明が表示されるようになります。

ユーザー定義関数をたくさん作っている方は、是非使っていただくと便利じゃないかと思います。

関連語句
自作関数
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » ユーザー定義関数の説明をダイアログに表示−MacroOptionsメソッド

「ユーザー定義関数」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.