类是VBA的魂,如果理解了类的知识,那么很多VBA的理论会很容易理解。所以我们要理解类,在理解的基础上掌握它的应用。
今日课题需求:在做选择题时
1)对于单选这种类型,一共多个答案,如果选择了一个那么其他的将不被选择。
2)对于多选题,可以选择三个答案,如果选中了三个,那么其他的将不被选择。
需求分析:
这类需求是很普通的,在一个窗体上有若干个答案,我们要通过类来实现我们的需求,这里将涉及到类的命名,类对象的关联,类事件的命名与响应。
实现:
一 类模块的搭建:我们先建立一个类模块(mydati),并在类模块中实现事件对象的声明,事件的过程。
类模块代码:
Public WithEvents xuanzhe As MSForms.OptionButton
Public WithEvents yemian As MSForms.UserForm
Private Sub xuanzhe_Click() '类的数据改变事件
Dim index As Long
yy = xuanzhe.Name
index = Mid(xuanzhe.Name, 13) '取出OptionButtonN中的数字N
If yemian.Controls("OptionButton" & index).Value = True Then
Sheets("12.13.14").Cells(1, 1) = yemian.Controls("Label"