[VBA]関数へObjectを渡した時、”ByRef引数の型が一致しません”エラーが出たら
2015年4月13日
(カテゴリ: 未分類:)
関数の引数にObjectの変数を渡したとき”ByRef引数の型が一致しません”エラーが出た。 調べてみたところ、変数の型指定を明示してあげると上手く動いた。 ダメパターン:変数paramListの型を明示していない。 Sub MainFunc() Set paramList = CreateObject("Scripting.Dictionary") SubFunc(paramList) End Sub Function SubFunc(paramList As Object) ‘ do something End FunctionSu…
続きを読む
[VBA]DictionaryをFor Eachで回すときの書き方
2015年4月13日
(カテゴリ: 未分類:)
DictionaryをFor Eachで回したい時、Inで各要素を受け取るデータ型はvariant型にします。 For Eachで、受け取れるのはkey/vauleの内keyの方です。 value側はparamList.Item(curKey)な感じで、取得します。 これは、ハッシュ検索になるのでO(1)の計算量となるので速度は十分に速いです。 Dim curKey As Variant Set paramList = CreateObject("Scripting.Dictionary") paramList.Add "key1", &q…
続きを読む