これに関するスレッドや質問がたくさんあることは知っていますが、一般的に、エラーがどこにあるかは明らかです。ほとんどの人は、オブジェクトを移動するときに SET キーワードを使用していません。私は。
何が起こっているかは次のとおりです。
これはExcelシートにあるので、列を追跡してインデックスを作成するための小さな関数セットを作成しました。これにより、アプリが実行されるたびに列のインデックスが再作成されるため、.Cells(row_num, pCust_index("custID"))
列が変更された場合などに行うことができます。
custContagions というフォームがあります。これは、ユーザーが顧客の感染状況を追加/削除/編集できるようにする小さなモーダル ウィンドウです。次のプロパティが含まれています。
Private pCust_index as dictionary
また、次のプロパティ セッターも含まれています。
Public Property Set set_cust_index(ByRef custIndex As Dictionary)
Set pCust_index = New Dictionary
Set pcust_index = custIndex
End Property
かなり簡単ですよね?辞書オブジェクトを受け取り、インデックスをリセットして、渡された既存のオブジェクトを指します。
さて、呼び出しフォームには反対側があります:
Private Sub newCustContagious_LBL_Click()
Dim contForm as New custContagions
Call contForm.set_cust_index(pCust_index) 'note pCust_index is a private here too
Call contForm.Show
...
set_cust_index 呼び出しで Invalid Use of Property コンパイラ エラーが発生します。
私は何を取りこぼしたか?