您好,这里是“E图表述”为您讲述的Excel各种知识。
【前言】
作者不止一次的说过“建模”这个话题,也说过“建模”的三大类型表的构建,同样也说过这些表之间是如何形成“展示表”的。在我们ActiveX系列文章中,是不是也可以用ActiveX控件来实现对于工作表内容的引用呢?
Excel VBA本身就是对Excel对象的操作,对工作薄、工作表、单元格这三大“主流”对象的引用功能是肯定有,并且是离不开的,不要谈什么“数据分析”。单纯的从“技术”角度说的话,只是对数据的一种引用过程;真要从数据分析的“理论知识”上来说,不会“高数”的数据分析,只能叫统计!只用“四则运算”的数据分析“纯属耍流氓”!
【正文】
好吧,又“愤青”了,言归正传,我们看一下今天的正题。假设我们有如下一个数据源:
数据源被作者增加了“难度”,每一个表的列字段都是不一样的,而且列字段的数量也不固定,有三列的,有五列的;有日期,也有数值和文本。也就是说如果需要“动态”在控件中引用这些数据的话,我们可能就要“费些心思”了。
本案例中,我们采用了Optionbutton控件,配合ListView控件联动使用,用Optionbutton的Click事件,对ListView控件进行赋值。老规矩,先看一下效果:
大家有没有注意到一点,《表三》在ListView控件中的默认列宽要比其他两个表的列宽宽一些。这个也是今天代码的一个重点,随动列宽!
【操作步骤】
步骤1:
按下面的布局插入窗体及控件,还记得如何添加窗体和控件吗?如果忘了,可以看看前面的文章。
步骤2:
右键单击Optionbutton1控件,查看代码,输入下面的内容:
左右滑动观看完整代码,别忘了“分享”更多人
步骤3:
按Optionbutton1的代码,制作另外两个选择控件Optionbutton的内容,修改地方如下图所示:
红框标记的代码就是按单元格的列宽标记ListView控件ColumnHeaders宽度的代码,你学会了吗?
Optionbutton2的代码没有给出来,其实和控件1是一样的,只是改了“工程名称”和“工作表名称”两个位置的代码。
【编后语】
这段代码,也算是作者给同学们的一个比较“走心”的案例。“动态”引用工作表,循环式的添加记录,这样就大大减少了代码的书写量,而且更加的便于观看和理解。如果觉得有所收获,那就点一下“在看”,“分享”到朋友圈,提供给更多的人来学习吧。
微信公众号:“E图表述”
ID:“Excel_Easy”
领取专属 10元无门槛券
私享最新 技术干货