我以编程方式根据工作表范围内的行数创建用户表单(当前设置为固定数字以进行测试)。 然后,用户选中要检查的框,然后单击命令按钮。
与下面的代码一起运行的userform有一个命令按钮和一个手动添加的复选框。其他复选框以编程方式添加。 我无法弄清楚如何从有问题的复选框中获取值。我只是得到一个错误" testbox"没有定义。 我知道我错过了一些简单的事情......
有什么想法? 谢谢!
Option Explicit
Private Sub updateTablesBtn_Click()
If CheckBox1.Value = True Then
MsgBox "true"
End If
If testBox.Value = True Then
MsgBox "true"
End If
End Sub
Private Sub UserForm_Initialize()
Dim chkBox As MSForms.CheckBox
With formTableUpdate
.Width = 150
.Height = 200 '15 + 20 * (noOfVariants + 1) + 30
End With
Set chkBox = formTableUpdate.Controls.Add("Forms.CheckBox.1")
With chkBox
.Name = "testBox"
.Caption = "test"
.Left = 5
.Top = 10
End With
With updateTablesBtn
.Caption = "Update Tables"
.Height = 25
.Width = 76
.Left = 38
.Top = 30
End With
End Sub
答案 0 :(得分:1)
试试这个:
Dim chkBox As Control
For Each chkBox In formTableUpdate.Controls
If chkBox.Name = "testBox" Then
MsgBox chkBox.Caption & " has the value " & chkBox.Value
End If
Next chkBox