2

それぞれ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個のラジオボタン/要素すべて。

これを行うことはできますか、それとも私が見逃したより簡単な方法がありますか?

4

1 に答える 1

1

ユーザーフォームでは、次を使用して特定のコントロールにアクセスできます。

Me.Controls("yourControlName") 
于 2012-08-31T00:03:58.453 に答える