VBAで「代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さなければなりません。」となる場合の対処
VBAで「代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さなければなりません。」となる場合の対処方法について紹介します。
このエントリーはVBAビギナーの方向けの内容です。
1.問題点
次のような簡単なコードを作ってみました。
Sub test()
fv = 1
End Sub
が、これを実行したところ、「代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さなければなりません。」というエラーになってしまいます。
このエラーの対処方法が分かりません。
2.原因
原因は「fv」を変数として使っているのですが、fvはVBAの関数として登録されています。
そもそも、fvを次のように変数として事前に宣言していないので、関数と認識されてしまい、このようなエラーが出力されてしまうようです。
Dim fv As Integer
3.対処
fvを変数として宣言すればエラーは解消します。
Sub test()
Dim fv As Integer
fv = 1
End Sub
できれば関数名として予約されている名称は変更した方がよいでしょう。
Sub test()
Dim foo As Integer
foo = 1
End Sub
Posted by yujiro このページの先頭に戻る
トラックバックURL
コメントする
greeting