- ベストアンサー
Excelで関数ウィザードの説明欄にユーザー定義関数の説明を表示させるには?
Excel2000でVBAを用いてあるユーザー定義関数を作成し, それをアドインファイルとして組み込ませました。 ワークシートのセル上で関数ウィザードを開き, このユーザー定義関数を選択するとウィザードの説明欄に 『[ヘルプ]をクリックすると、この関数と引数に関するヘルプトピックが表示されます』 と表示されます。 他の関数では,この『』内にその関数の説明が表示されています。 (例)AND関数の場合『全ての引数がTRUEのとき、論理値TRUEを返します。』 自作したユーザー定義関数の説明を関数ウィザードで表示したいのですが, どうすれば出来るのか教えていただきたくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
下のようなユーザー定義関数『AAAA』を作ったとします。 このユーザー定義関数の説明を独自にセットするには、下の『Setumei』を実行します。 実行して説明が表示されたのを確認し、保存すれば再度立ち上げる時は『説明』が自動でセットされているはずです。 Excel2000で単独のBookとして確認済みです。(アドインとしても確認済みです) 'ユーザー定義関数の例 Function AAAA(x As Long, y As Long) AAAA = x + y End Function 'ユーザー定義関数の説明例 Sub Setumei() Application.MacroOptions Macro:="AAAA", _ Description:="ユーザー定義関数です。2つの数値を入力し加算します。" End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
(関数の作成)この辺はご存知の事項 (1)VBEの挿入-標準モジュールに入れること。 Functionプロシージュアーにすること。 (例) Function PLUS(a as Range) PLUS=WorksheetFunction.Sum(a) End Function (2)ワークシートのSheet1でもSheet4でも、任意のセルに 例えばA1に=PLUS(B1:B3)と入れると値は6になる。(B1-6、B 2-2,B3-3のとき) (3)挿入-関数-関数の貼り付けで、「すべて表示」をクリックして、 PのところにPLUSが自動的に出てくるようになる。 しかしヘルプとして、解説文は出てこない。 (説明文) (4)ここでnishi6先生の#1のご回答のように Sub Helpbunn() Application.MacroOptions Macro:="PLUS", _ Description:="ユーザー定義関数です。セル範囲の数値を加算します 。" End Sub を、Module1に作り、実行する。すると (5)挿入-関数-関数の貼り付けで、「すべて表示」をクリックして PLUSをクリックして選ぶと関数の分類リスト部の下に 「ユーザー定義関数です。セル範囲の数値を加算します。」と出ます。 (6)ユーザー定義の分類を作り、所属させ方が判らないが。 (7)「?」のヘルプをクリックして、上記PLUSヘルプの説明を出す のは、RTF(ワード)でエクセルと同じフォルダに説明文を作る ようである。(例えば加算ヘルプ.docとする。) (8)Dim Mypath As String ActiveWorkbook.Worksheets("sheet1").Activate Mypath = Application.Path MsgBox Mypath Application.Help Mypath & "\加算ヘルプ.doc" End Subを実行すると、そのヘルプ文が出てくるところまではやって見た。 しかしPLUS関数のときの「?」クリックで、「この関数に関する説明を 見たい」をクリックしたとき、自動的にPLUSの上記説明文を出すための、関連付けの方法がわからない。(済みません) それと本件PLUS関数はこのBook限りであり、ADDOINに登録したときの説明ではないので、少し自信ありませんが、何かのご参考になればと思います。
お礼
とても丁寧な回答をありがとうございました。
お礼
分かりやすいご回答をありがとうございました。 動作確認までしてくださり重ねてお礼申し上げます。 MacroOptions というメソッドがあるんですね。初めて知りました。 ご教示いただいた方法で早速試してみたところ, 無事,目的を達成することができました。 VBのヘルプでこのメソッドを「検索」し概要を確認したのですが, 「目次」では何処に位置しているのか結局分からないままでした。 自分の調べ方が悪いためか,類似例をネットで探しても見当がつかない状態 でしたので,ご回答いただけてとても助かりました。 本当にありがとうございました。 取り急ぎ,お礼まで。