Daily Archives: 2015年4月13日

[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…


続きを読む