今回のサンプルは、Excel2002 / Excel2003 / Excel2010で動作を確認しました。

「先生、おはようございます」
「おぉ、ゲール君、待っておったぞ」
「どうしたんですか?」
「背中に、膏薬を貼ってくれたまえ。手が届かんのじゃ」
「あら、お客さん、凝ってますねぇ。いったい何をしたんですか?」
「連休だからさぁ、調子に乗って連荘で夜釣り」
「あらまぁ」
「他は、どうにかなるんじゃが、背中だけは手が届かない」
「だから、いい加減、お嫁さんをもらいなさいって言ってるじゃあ~りませんか」
「大きなお世話だ。それに、嫁はいなくてもゲール君がいる」
「私だって、そのうち嫁に行くんですよ」
「だから?」
「結婚したら、いなくなるんですよ」
「今時、若い夫婦は、共働きが当たり前じゃ。結婚してもここで働けばよろしい」
「え~」

今月の相談
 オリジナルの関数を作成しアドインにしましたが、「ヘルプが表示されないから使い方が分からない」とユーザーからクレームが出て、急遽ヘルプの作り方を勉強して作り、関数にヘルプを関連付けるマクロも作成しました。僕のPCでは、ヘルプが表示されたのですが、アドインの配布先では「ヘルプがありません」と表示されます。これはPCの個体差なんでしょうか?それとも、僕のマクロに問題があるのでしょうか?
図1●ヘルプが表示されないエラー
図1●ヘルプが表示されないエラー

「おぉ!これは、美味しそうなネタです」
「また、バイトのネタに使う気じゃな?」
「せんせ~、ここの給料だけじゃ、食べるのがやっとなんですから」
「いやいや、バイトが悪いと言っとるわけじゃない。何であれ、プログラミングの経験を積むことは、いいことじゃ。しかし、わしが作ったマクロでバイトするのであれば、修行にならん」
「またまたぁ、先生、堅いこと言いっこなしですよ」
「うむ、では、今夜はゲール君のバイト料で、焼肉を食べることにしよう」
「げげっ! で、先生、この相談って、どうにかなります?」
「どれどれ・・・」

図2●マクロにヘルプを関連付けるマクロのモジュール
図2●マクロにヘルプを関連付けるマクロのモジュール
[画像のクリックで拡大表示]
図3●ユーザー定義関数のモジュール
図3●ユーザー定義関数のモジュール
[画像のクリックで拡大表示]
図4●ThisWorkbookモジュール
図4●ThisWorkbookモジュール
[画像のクリックで拡大表示]

「なるほど。そういうことか」
「先生、何か分かったんですか?」
「うむ、分かった」
「では、処方箋を」
「慌てない、慌てない。こいつは、幾つかの問題が、複雑に絡み合っている。まず、MacroOptions メソッドを知っとるかね?」
「え~っとぉ、確か、マクロにショートカットキーを割り当てるメソッドです」
「うむ、正解ではないが間違いでもない」
「何ですとぉ~?」
「確かにMacroOptions メソッドは、マクロにショートカットキーを割り当てるメソッドではあるが、それだけではないのだよ」
「ええ~?」
「マクロ実行中に、ステータスバーにテキストを表示できる」
「おぉ!しかし、今回の症状には関係なさそうですが?」
「うむ、そしてもう一つの機能が、マクロとヘルプを関連付けることができるってことじゃ」
「あぁ、患者さんはその機能を使ってユーザー定義関数にヘルプを表示しようとしたんですね?」
「そうじゃ。ユーザー定義関数にこのメソッドでヘルプの情報を関連付ければ、まるで、Excel純正の関数であるがごとく、ヘルプが表示されるのじゃ」
「ハラショー」
「それが、リスト1のマクロである」