之前做过一个项目,涉及到很多按钮都要绑定事件的需求,这个如果一个一个来做,效率低下,所以我们今天要跟大家分享的就是Excel高级篇之事件共享!
比如我们工作表中有6个按钮,他们点击后需要激活对应名称的工作表,并显示已使用的区域!
这个一般来说,大部分同学都是针对每个按钮单独写一个Click事件,但是你会发现非常的冗余,他们的需求非常相近。要是有一种方法,可以一起给他们加上事件那是真的好!
想要解决这个问题,我们可以使用类模块,简单配合即可!让我们一起来看看如何处理!
01 | 类模块准备
类模块属于VBA中的高级内容,也就是为什么小编跟大家说需要一丢丢基础的原因!不管相对今天的内容而言也还好!
> ALT+F11进入VBE后,右击【模块】- 【插入】 - 【类模块】
在【属性】窗口中将名称 修改为 clsButtonClick
这里的名称就是类的名称,目前按照我的名称修改,当然后续可以根据自己的要求来修改!
02 | 类模块代码
首先是申明一个带事件的cmd变量,他的类型是一个CommandButton,也就是我们上面的按钮类型,申明完后我们就可以在下来中选择这个cmd
因为申明是带事件的,所以我们可以选择其对应的事件,这里的cmd就和我们的按钮一样,就全部加上事件了!
这里我们使用默认的Click点击事件!
类模块的代码如下(本案例提供附件下载,文末):
其中代码都有说明。这里就不再啰嗦了,都是基础代码!
03 | 普通模块初始化代码
> 插入一个普通模块
> 写入下面的代码,大部分我已注释,有基础应该可以看懂!
> 申明一个全局的公共集合,把按钮都保存好~!
04 | 执行初始化,测试效果
> 点击初始化
> 为每个按钮都绑定了事件,一次性搞定
这算是VBA高级篇中,类模块的一个简单应用吧! 如果你变通一下,应用到窗体中也是可行的,比如我们现在要做一个数独,那么其中的很多按钮可能都需要同样的配置或者事件! 如果没有这个,你可能重复代码要写几十遍!
关于VBA中类模块,一般办公人员估计很难理解,如果你学过其他OOP面向对象语言,回头再来看,那么是非常简单的,小编由于C#、Python、JS、Python等语言都懂一丢丢,所以看类模块还是简单一些!后面有机会,我们再来好好聊聊类模块!
本文附件下载:
链 接: https://pan.baidu.com/s/12FzhYueaBgngI7s01GSzaw
提取码: haep
联系客服