- ベストアンサー
VBAの関数で引数渡しでエラー
関数呼び出しでObject型を渡したいのですが「引数の型が一致していません」との エラーになってしまいます。 以下のプログラムをどのように修正すればよいのでしょうか? Sub Test() Dim obj As Object Set obj = CreateObject("Scripting.Dictionary") : Sample(obj) End Sub Function Sample(obj As Object) End Function
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#223464
回答No.3
文法エラーですね。 Sample(obj) ↓変更 Sample obj もしくは Call Sample(obj)
その他の回答 (2)
- kkkkkm
- ベストアンサー率66% (1742/2617)
回答No.2
Call Sample(obj) と Function Sample(ByRef obj As Variant) としてみてください。 参照 http://www.it-folder.com/indexd.php?document=excel_vba_key_array_sub&docdir=2010 上記では # 参照渡しの場合 Variant 型を指定する。 と記載されていました。 テストしたら Function Sample(ByRef obj As Object) でもいけましたが、Variant 型のほうがいいのかもしれません。
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.1
例示のコードのどの行でエラーが発生しましたか? プロシージャSampleはFunctionなのに、なぜ呼出時に戻り値を見ない? 戻り値が必要ないなら、Subではダメなんですか?