我有几个复选框,我将根据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
答案 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)