我对 VBA 很陌生,只有 3 天...但我发现它非常有用且易于使用,但现在我面临一个问题。
我需要制作一个具有不同复选框的用户窗体,但我需要根据工作表某一列中使用的信息自动添加它们。
我相信我可以使用 For .. Each .. Next 但我真的不知道如何填写复选框。
这是我现在拥有的唯一解决方案,但我无法制作不同的复选框,只能制作一个。
For Each rCell In Range("B1:B" & LastRow)
If rCell.Value <> "" Then
UserForm1.Controls.Add ("Forms.CheckBox.1")
End If
Next
我需要做的另一件事是在添加复选框后填充其属性,以便我可以在之后使用这些值。
任何帮助将不胜感激,谢谢!
我相信你之前已经得到了答案,但由于这个问题出现在我的谷歌搜索中,我想我应该发布另一个答案。将以下代码放入您的用户窗体中:
Option Explicit
Private Sub UserForm_Initialize()
Dim curColumn As Long
Dim LastRow As Long
Dim i As Long
Dim chkBox As MSForms.CheckBox
curColumn = 1 'Set your column index here
LastRow = Worksheets("Sheet1").Cells(Rows.Count, curColumn).End(xlUp).Row
For i = 1 To LastRow
Set chkBox = Me.Controls.Add("Forms.CheckBox.1", "CheckBox_" & i)
chkBox.Caption = Worksheets("Sheet1").Cells(i, curColumn).Value
chkBox.Left = 5
chkBox.Top = 5 + ((i - 1) * 20)
Next i
End Sub
您将需要修改代码以满足您的特定需求,但这将帮助您入门。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)