前回作成した配列変数を新たに作成したFunctionプロシージャに引き渡して処理を進めようとしたら、コンパイルエラーが発生しました。ByRef 引数の型が一致しません。と表示されています。
Functionプロシージャ側では、受け取る引数の型がString(文字列型)を指定しているのに、Functionプロシージャを呼び出す側では、Variant型を指定しているためでした。Variant型はなんでもありだと思っていたのですが使い方がまずいとエラーが出るのですね。
エラーの回避は、Functionプロシージャに引き渡すときに文字列型にすればよいので、CStr関数を用いて、文字列型に変換することにしました。
CStr(数値または数式) で文字列型に変換してくれます。
これでエラーが出なくなりました。
では、この逆はどうなのだろうとやってみました。
Functionプロシージャ側で、Variant型を引き取る設定にして、引き渡す側ではString型を指定した場合です。
結果はこのとおり、正常に終了しました。
受け取る側がなんでもOKのVariant型なので、String型の引数を渡しても問題なく処理してくれたのでした。
これで安心。次の工程に進みます。