获取变量的内容并将其用作变量名称本身

时间:2012-08-30 21:40:02

标签: vba variables

我有一个包含9行,每行4个逻辑元素的表。每行只能有1个“真实”条件(类比可能是:Row1-eyes“Blue”,“Green”,“Gray”,Brown“.Row2-hair”Blond(e)“,”Brunette“, “Redhead”,“None”......等等。)。这些实际上是用户表单上的“单选按钮”。它们目前正常运行,但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

这会创建一个我想要映射到相应单选按钮的二维数组。

在包含单选按钮数组的Userform中,我有以下代码来创建按钮名称:

    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个单选按钮/元素。

可以这样做还是我错过了一种更简单的方法?

1 个答案:

答案 0 :(得分:1)

在用户表单上,您可以使用以下方式访问特定控件:

Me.Controls("yourControlName")