详细介绍:
Excel VBA开发的自动添加复选框(CheckBox控件),同时自动添加控件事件代码,实现判断复选框是否选中。
VBA按钮单击事件代码:
Private Sub CommandButton1_Click()
On Error GoTo Proc_Err
Dim i As Integer, CtlName As String
Dim MyCodeLine(3) As String
'禁止屏幕更新
Application.ScreenUpdating = False
'在活动工作表中增加一个CheckBox
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=100, Top:=50, Width:=80, Height:= _
20).Select
'获取控件名称
CtlName = Selection.Name
'为了便于演示,只允许添加9个CheckBox
If VBA.Len(CtlName) > 9 Then
Selection.Delete
'调整新添加的控件的位置,避免重叠
Selection.Top = 20 + 50 * CInt(VBA.Right$(CtlName, 1))
'生成控件代码
MyCodeLine(1) = "Private Sub " & CtlName & "_Change()"
MyCodeLine(2) = CtlName & ".Caption=" & CtlName & ".value"
MyCodeLine(3) = "End Sub"
For i = 1 To 3
'插入控件代码
ThisWorkbook.VBProject.VBComponents(Me.CodeName).CodeModule.InsertLines i, MyCodeLine(i)
End If
Application.ScreenUpdating = True
Proc_End:
Exit Sub
Proc_Err:
MsgBox Err.Number & "//" & Err.Description
Resume Proc_End
End Sub
下载示例:
下载包(1)
清除Excel数据透视表下拉列表里无用的数据项
(178)人喜欢
2023-08-17
利用VBA代码批量删除空白段落
(172)人喜欢
2023-08-15
解决"ActiveX部件不能创建对象"的
(799)人喜欢
2021-12-13
如何注册ADO与DAO
(718)人喜欢
2021-12-13
展开全部内容
Access如何使用VBA代码DAO方式创建索引
(666)人喜欢
2020-12-17
如何注册ADO与DAO
(719)人喜欢
2021-12-13
Excel通过自定义函数实现大小写金额自动转换
(700)人喜欢
2020-10-31
清除Excel数据透视表下拉列表里无用的数据项
(178)人喜欢
2023-08-17
如何注册ADO与DAO
用VBA代码自动引用树控件方法
使用VBA代码批量删除Word中空白段落
如何使用VBA增加、修改及删除Access数据库表字段?
用'FileDialog'作用于对象'_Applicatio
将VBA编写的函数过程封装成DLL组件并在Office\Ex