トップページ

#14_5 Functionマクロの作成


SubマクロとFunctionマクロ

マクロには、今まで使用してきた「Subマクロ」とは別に「Functionマクロ」というものがあります。実際はこの2つにPropertyマクロを加えた3つがマクロの全種類なのですが、Propertyマクロは特殊なマクロであり、使用頻度も低いためここでは割愛します。

SubマクロもFunctionマクロも両方親マクロから呼び出されてサブルーチンとして動作しますが、当然FunctionマクロにはSubマクロにはない役割・特徴があるのです。それではFunctionマクロの特徴を見ていきましょう。

Functionマクロとは何か

ただ単にサブルーチンとして動作するだけではなく、Functionマクロは親マクロに値を返すことができるのです。つまり、戻り値を返す「関数」として使えるということを意味し、Functionマクロは「ユーザー定義関数」とも呼ばれます。

それでは実例を通してFunctionマクロの使い方を勉強しましょう。覚えておくべきことは、戻り値はFunctionマクロ名の変数に格納されるという点です。

引数を受け取るFunctionマクロ(ユーザー定義関数)

上記のように、Functionマクロは戻り値を返します。つまりFunctionマクロはれっきとした関数であり、引数を受け取ることができ、さらにExcelのシート上でもFunctionマクロを使うことができるのです。

Functionマクロから受け取った戻り値を利用するマクロを見てみましょう。

また、Functionマクロに複数の引数を与えることも可能です。