宏:为VBA表单生成动态复选框

时间:2014-12-21 16:35:47

标签: excel vba

有没有办法在vba表单中为单元格标题创建复选框? 这就是所有列标题名称都应该是复选框。

例如......

One Two Three   Four
1   2   3       4
1   2   3       4
1   2   3       4

在vba表单中应该包含

One
Two
Three 
Four

作为复选框.. 我期待对吗?或者请解释任何其他方式.. 提前谢谢..

注意:应该没有软件或工具。

2 个答案:

答案 0 :(得分:4)

将以下代码放在UserForm中:

Option Explicit

Private Sub UserForm_Initialize()

Dim LastColumn  As Long
Dim i           As Long
Dim chkBox      As MSForms.CheckBox

LastColumn = Worksheets("Sheet1").Cells(1, Columns.Count).End(xlToLeft).Column

For i = 1 To LastColumn
    Set chkBox = Me.Controls.Add("Forms.CheckBox.1", "CheckBox_" & i)
    chkBox.Caption = Worksheets("Sheet1").Cells(1, i).Value
    chkBox.Left = 5
    chkBox.Top = 5 + ((i - 1) * 20)
Next i

End Sub

您需要修改代码以满足您的特定需求,但这将帮助您入门。

答案 1 :(得分:2)

在frmABC模块中有这样的东西(可能在Sub UserForm_Initialize()中或者你想要运行的其他任何东西):

frmABC.chkX.Caption=worksheets("tab_name").range("A2")