我无法从用户表单的复选框中获取值。我遇到的问题是userform根据工作表中的值创建可变数量的复选框。代码:
Private Sub UserForm_Initialize()
Dim LastRow As Long
Dim i As Long
Dim Teller As Long
Dim chkBox As MSForms.CheckBox
Teller = 1
LastRow = Worksheets("Sheet").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To LastRow
If Worksheets("Sheet").Cells(i, 1).Value = Worksheets("Sheet").Range("S1").Value Then
Set chkBox = Me.Controls.Add("Forms.CheckBox.1", "CheckBox_" & Teller)
chkBox.Caption = Worksheets("Sheet").Cells(i, 9).Value
chkBox.Left = 5
chkBox.Top = 25 + ((Teller - 1) * 20)
Teller = Teller + 1
End If
Next i
End Sub
因此,这会创建一些名为CheckBox_1,CheckBox_2等的复选框。 问题是,当我尝试在模块中获取CheckBox_1的值时,尚未创建CheckBox_1,因此我无法使用它。
Dim x as String
With UserForm4
.Show
x = .CheckBox_1
MsgBox (x)
End
End With
答案 0 :(得分:1)
你需要循环。控制文本框不是表单上的属性。