《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。
类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入,有必要理解这些抽象的理论知识。对象,类,过程,方法,属性,事件,接口,接口如何实现等等。掌握了这些理论,不仅对于VBA这种寄生语言的实质有所深入的理解,也对自然界的很多事物将同样有所感悟。目前,这套教程程序文件已经通过32位,64位两种office系统测试。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA中类的解读及应用第十二讲:限制复选选择,类模块的代码讲解及窗体的运行效果
【分享成果,随喜正能量】无人问津的日子里,定心,静心,做好自己的事,一切烦躁焦虑都烟消云散。 。
第十二讲 限制复选选择(上)
2 类模块的代码讲解及窗体的运行效果
代码讲解:
1) 上述代码中要注意的是:声明响应类事件是在类模块中,此事件要在类模块中实现,但只是声明了该事件。
2) 在上述代码中先声明了(选择)xuanzhe As MSForms.OptionButton和(页面)yemian As MSForms.UserForm 两个事件,我们在应用的时候只是应用了第一个事件。
3) index = Mid(xuanzhe.Name, 13)
假如当某个选择框被选择中时,我们要先找到是哪个OptionButton,记录下这个OptionButton的序号。
4) If yemian.Controls("OptionButton" & index).Value = True Then此事OptionButton的VALUE的值是true那么我们将执行下面的操作。
5) Sheets("12.13.14").Cells(1, 1) = yemian.Controls("Label" & index + 1).Caption
将这个选择框对应的条文要记录到工作表中。
6) For i = 1 To 5
If i <> index Then
yemian.Controls("OptionButton" & i).Enabled = False
End If
Next
对于没有选择的选择按钮,统一yemian.Controls("OptionButton" & i).Enabled = False
处理。
运行状态的答题卡:
今日内容回向:
1 类模块中需要建立的内容是什么?
2 WithEvents是声明什么的?
(待续)
本讲内容参考程序文件:VBA-CLASS(1-28).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: