それぞれ4つの論理要素の9行のテーブルがあります。各行には、「真の」条件を1つだけ含めることができます(例として、Row1-eyes "Blue"、 "Green"、 "Grey"、Brown"。Row2-hair"Blond(e) "、" Brunette "、 「赤毛」、「なし」など。これらは実際にはユーザーフォームの「ラジオボタン」です。現時点では正しく機能しますが、100%手動で機能します。その機能を維持する必要があります。
私の問題は、他の場所で決定された「標準」構成でそれらすべてをリセットできるようにしたいということです。ボタンにはB11〜B49のラベルが付いています
「他の場所」には、ボタンを設定する値を作成する次のサンプルコードがあります。
`Sub bMostCommon() 'This is the most common profile
For iRow = LBound(xLiabilities, 1) To UBound(xLiabilities, 1)
For iCol = LBound(xLiabilities, 2) To UBound(xLiabilities, 2)
xLiabilities(iRow, iCol) = False
Next iCol
Next iRow
'store commomn settings
xLiabilities(1, 1) = True
xLiabilities(2, 2) = True
xLiabilities(2, 3) = True
xLiabilities(1, 4) = True
xLiabilities(1, 5) = True
xLiabilities(1, 6) = True
xLiabilities(1, 7) = True
xLiabilities(1, 8) = True
xLiabilities(2, 9) = True
end sub
初期変数は次のようにディメンション化されます。
Dim xLiabilities(1 To 4, 1 To 9)
Dim iRow As Integer, iCol As Integer
これにより、対応するラジオボタンにマップする2次元配列が作成されます。
ラジオボタン配列を含むユーザーフォーム内に、ボタン名を作成するための次のコードがあります。
For iRow = LBound(xLiabilities, 1) To UBound(xLiabilities, 1)
For iCol = LBound(xLiabilities, 2) To UBound(xLiabilities, 2)
mRadioButton = "B" & iRow & iCol
Debug.Print "xLiabilities(" & iRow & "," & iCol & ")" '&
Debug.Print "Radio Button"; mRadioButton
Next iCol
Next iRow
これにより、debug.printの結果を調べて正しい出力が作成されると思いますが、その出力データを抽出して使用する方法がわかりません(たとえば、B23.Value = Array(2,3).Valueなど。 36個のラジオボタン/要素すべて。
これを行うことはできますか、それとも私が見逃したより簡単な方法がありますか?