2011年11月23日

ユーザー定義関数

最近はユーザー定義関数に凝っています。

どうせVBAを使うならイベントプロシージャのほうが自由度は高いし、いろいろと制限のあるユーザー定義関数をあえて使う意味はないかも、と考えていた時期もあるのですが、その制約のあるところが逆に面白く思えてきて……というのは少々オタク的でしょうか?(^^;)
セルの操作はできないけど図形の操作ならできそうだ、とか、メッセージや入力ボックスも表示可能、とか、できることとできないことを仕分けしていく作業は、確かにちょっとマニアックかもしれません。

ただ、Excelでいきなり“完成品”を作って提供するのではなく、各ユーザーが完成品を作るための“部品”として提供するのであれば、関数というのは割と利用しやすい形式なのではないでしょうか。
数式・関数はある程度使いこなせるけどVBAまではちょっと……というユーザー層は、結構厚いような気がします。

VBAを利用すれば、たとえばアドインを組み込むとUIにボタンが表示されたり、ある操作を行うと自動的に一連の処理が実行されて……みたいなことが可能で、それはそれで、VBAの知識がないユーザーにとっても便利です。
ただ、それは追加された“機能”ではあっても“部品”とはいい難いでしょう。
VBAの知識のない人でも、自分自身である程度その機能をコントロールしながら、独自の“完成品”を作っていくことができるという点で、ユーザー定義関数という形式にはやはり一定の存在価値がある、と最近は思うようになりました。

さらにいうと、ユーザー定義関数をいかに組み込み関数の使い勝手に近づけていけるか、というのも、最近の大きなテーマです。
具体的には引数の仕様や「関数の引数」ダイアログボックスでの表示内容などですが、その過程で組み込み関数の仕様に対する理解が深まる部分もあり、またある意味Excelの開発者側に加わったような感覚(錯覚ですが^^;)を覚えたりもできます。

ExcelとVBAが好きな人、さらに深く学びたい人には、結構オススメです。
posted by 土屋和人 at 14:53| Comment(0) | TrackBack(0) | Excel
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/50830849
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック