2

Letプロパティを次のように定義しています。

Public Property Let Set_ChanArray_Enabled1(i As Integer, j As Integer, choice As Boolean)
    ChanArray(i, j).Enabled1 = choice
End Property

同じオブジェクトモジュールで定義されたサブで、次のことを試みます。

For j = 4 To 44
    Me.Set_ChanArray_Enabled1(j, 1) = True
    Me.Set_ChanArray_Enabled1(j, 3) = True
Next j 

しかし、VBEは、渡されたjを指すByRef引数の不一致を私に与えます

Me.Set_ChanArray_Enabled1(j, 1) = True

jとメソッドに渡されるパラメーターの両方を整数として定義したので、何が問題なのかわかりません。

4

1 に答える 1

4

このエラーは、の入力に問題があることを示していますj(つまり、整数型ではありません)。

次のようなステートメントで宣言しましたか。dim j, i as integer?その場合i、整数のみです(繰り返す必要がありますas integer)。

(を使用byvalすると、これを「修正」するように見えます。これは、コピーによるパスのセマンティクスにより、VBAが呼び出す前に整数への自動型変換を実行できるためSet_ChanArray_Enabled1です)。

于 2012-06-12T10:07:34.493 に答える