利用类模块对工作表中的ActiveX控件批量设定的注意事项

本文介绍如何使用VBA中的类模块批量设置Excel窗体及工作表中复选框的Change事件,通过实例展示了如何绑定类模块与复选框,并提供了在工作表中访问复选框内部MSForms.CheckBox控件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用类模块可以减少许多重复的代码 。
以给控件 设定批量 的Click事件为例,在工作簿中定义 了以下名为clsChe的类模块:


利用该类模块,可以轻松实现对复选框进行批量设置 Change事件。

在窗体 中,只需要绑定窗体中的复选框即可,代码如下:



但是在工作表 中似乎不太容易实现,很多人试过Shapes集合,试过CheckBoxes集合,甚至改变类模块中的定义为


但会发现,这个CheckBox类型并不支持事件。

因而会给人造成工作表中的复选框控件不是MSForms.CheckBox的错觉,其实不然。
在工作表中插入的复选框和窗体中的其实是一样的。
但是在工作表中插入的复选框增加了一层Shape外衣,使用户无法直接访问到内层的MSForms.CheckBox控件。
必须脱去层层外衣才能访问到其核心控件,其实这个真正的复选框控件在这里



我们还可以利用CALLBYNAME函数来直接访问



其余代码同窗体中是一致的。

请查看附件:http://www.exceltip.net/thread-21327-1-1-11314.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值