#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マクロに複数の引数を与えることも可能です。