“名称”中的VBA变量

时间:2016-06-06 19:00:40

标签: vba

我有几个复选框,我将根据for循环的索引更改可见性和标题。我有一个1到X的数组。在我的表单中,我传递数组total,每个数组元素都是一个字符串。

无论如何,在我的工作表上,我正在通过:

Sub Stripdown_Button_Click()
    LastUpdateColumn = Sheets("Update").UsedRange.Columns.Count
    Header_Array = Range(Cells(7, 1), Cells(7, LastUpdateColumn)).Value
    Header_Form.Header_Select LastUpdateColumn, Header_Array()
    Header_Form.Show
End Sub

LastUpdateColumn将是一个整数,Header_Array将是一个字符串数组。

我的形式,我可能在这一点上完全搞砸如下......

Public Sub Header_Select(Index As Integer, Header_List() As String)

    For x = 1 To Index
        If Header_List(1) <> "" Then
            cb & Index.Visible = True
            cb & Index.Caption = Header_List(Index)
        Else
            MsgBox "Form Error. Contact Engineering", vbOKOnly
        On Error Resume Next
    End Sub

1 个答案:

答案 0 :(得分:1)

您无法从字符串创建变量名称;但是表单有一个Controls默认属性,接受控件名称作为索引

Dim cb As CheckBox

Set cb =  Controls("cb" & Index)
cb.Visible = True
cb.Caption = Header_List(Index)

由于该属性是默认属性,因此其他语法也有效:

Set cb =  Me("cb" & Index)