2017-11-23 6 views
0

forループを使用してチェックボックスの値をチェックするAccess 2016にマクロがあります。私はテーブルに値を提出したい。 標準チェックボックスの値をtrueにしたくありません(-1)「ローリング」の値がチェックされていることを確認します。VBA forループへのアクセスは、iを使用して変数を参照します

CB1 CB2 CB3 CB4

のみCB1及びCB4は、その後、私はテーブルにCB4の値CB1ための1と2を提出したいがチェックされている場合。 forループ

私は次のようになります。

For i = 1 To 8 
If Me.Controls("CP" & i) = -1 Then 
"CP" & i = I 'ISSUE IS HERE 
Debug.Print Me.Controls("CP" & i) 
End If 
Next i 

にはどうすれば変数の値を参照するのですか? CP & I = CP1、CP2、CP3、CP4など...

+1

Me.Controls( "CP"&i)= I'? – Vityata

答えて

0

変数名は静的で、変数「CP」& iを使用して変数にアクセスすることはできません。代わりに配列を使用する必要があります。

Dim arrCP(8) 
For i=Me.controls("CP" & i)=-1 then 
arrCP(i)=i 
debug.print arrCP(i) 
end if 
next i 
0

おそらくcountTrueを使用して、表示したい数値を決定します。

Dim countTrue As Long: countTrue = 0 
For i = 1 To 8 
    If Me.Controls("CP" & i) = -1 Then 
     countTrue = countTrue + 1 
     Me.Controls("CP" & i) = countTrue 
     Debug.Print Me.Controls("CP" & i) 
    End If 
Next i 
関連する問題