VBA6 コード (Excel) はうまくいきました。Office 2010/VBA7 にアップグレードすると、コードが壊れます。
SO のコードを使用する:
オブジェクトが VBA のコレクションのメンバーであるかどうかを判断する
Public Function Contains(col As Collection, key As Variant) As Boolean
Dim obj As Variant
On Error GoTo err
Contains = True
obj = col(key)
Exit Function
err:
Contains = False
End Function
実行時エラー 5 が表示されます: 無効なプロシージャ コールまたは引数です。
obj = col(key)
ステートメントでカバーされるはずの行でエラーが発生するため、私には意味がありませんOn Error GoTo err
が、停止します。
その他X がコレクション型のソリューションに存在する場合、同じ問題があります。
壊れたコードを修正する代わりに、私が本当に必要としているのは、コレクションにレコードが既に設定されているかどうかを確認できることです.VBA7で他の(新しい)方法でそれを行うことができれば、問題も解決します(私は夢を見ることができます)。