VBA中类的解读及应用第十二讲:限制复选选择(上)

VBA语言専攻 2024-05-08 18:05:02

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。

类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入,有必要理解这些抽象的理论知识。对象,类,过程,方法,属性,事件,接口,接口如何实现等等。掌握了这些理论,不仅对于VBA这种寄生语言的实质有所深入的理解,也对自然界的很多事物将同样有所感悟。目前,这套教程程序文件已经通过32位,64位两种office系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA中类的解读及应用第十二讲:限制复选选择(上)

【分享成果,随喜正能量】沉默,可以让混乱的心,变得清澈。沉默,是城府,是睿智,是内涵;沉默,是最后的清高,也是最后的自由。。

第十二讲 限制复选选择(上)

类是VBA的魂,如果理解了类,那么很多VBA的理论会很容易理解。所以我们要理解类,在理解的基础上掌握它的应用。

今日课题需求:在做选择题时

1) 对于单选这种类型,一共多个答案,如果选择了一个那么其他的将不被选择。

2) 对于多选题,可以选择三个答案,如果选中了三个,那么其他的将不被选择。

需求分析:

这类需求是很普通的,在一个窗体上有若干个答案,我们要通过类来实现我们的需求,这里将涉及到类的命名,类对象的关联,类事件的命名与响应。

下面的几个单元我们讲解这个需求的实现:

1 类模块的搭建

我们先建立一个类模块(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" & index + 1).Caption

For i = 1 To 5

If i <> index Then

yemian.Controls("OptionButton" & i).Enabled = False

End If

Next

End If

End Sub

我们看看类模块的代码截图:

【待续】

今日内容回向:

1 类模块中需要建立的内容是什么?

2 WithEvents是声明什么的?

(待续)

今日内容回向:

1 如何理解正则函数?

2 在窗体的构建构成中,执行了哪些动作?

本讲内容参考程序文件:VBA-CLASS(1-28).xlsm

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

0 阅读:0