Excel VBA编程进入深水阶段,那就对底层的一些代码构建有一定的了解。
类模块就是其重要的一环,可以利用类模块做一些十分有用的事情。
其实在VBA实际应用中,离不开类模块的运用,只有我们并不知道而已。
每一个代码之后,或许就应用到类模块,大多是系统给我们预置完成的一些模块,看上去并不能很明显地发现,但它实实在在的存在,并处理着所有的表格功能。
本节重点讲一下,如何利用代码来创建一个类模块和删除一个类模块。
然后再给新建的类模块添加代码,代码可以是你想构建的任何功能。
上图为本节示例中的部分代码。
三个按钮分别实现不同的功能,下面具体看代码进行认识,功能都进行了模块化构建,所以在使用的时候要分清楚什么地使用这些代码。
添加类模块过程:
Public Sub AddClassCode(ClassName As String, CodeString As String)
'添加类模块代码
Dim Class As Object
For Each Class In ThisWorkbook.VBProject.VBComponents
If Class.Name = ClassName Then
Class.CodeModule.AddFromString (CodeString)
End If
Next Class
End Sub
删除类模块过程:
Public Sub DelClass(ClassName As String)
'删除类模块
Dim Class As Object
For Each Class In ThisWorkbook.VBProject.VBComponents
If Class.Name = ClassName Then
ThisWorkbook.VBProject.VBComponents.Remove Class
End If
Next Class
End Sub
添加类模块代码过程:
Public Sub AddClassCode(ClassName As String, CodeString As String)
'添加类模块代码
Dim Class As Object
For Each Class In ThisWorkbook.VBProject.VBComponents
If Class.Name = ClassName Then
Class.CodeModule.AddFromString (CodeString)
End If
Next Class
End Sub
调用如上代码使用下面的按钮过程:
Private Sub CommandButton1_Click()
Dim ClassName As String, CodeString As String
ClassName = "NewClass01" '定义类模块名称
DelClass ClassName '删除类模块
addClass ClassName '添加类模块
'定义类模块代码
CodeString = "Public s As New Worksheet" & VBA.vbCrLf
CodeString = CodeString & "Private Sub opensheet(s As Worksheet)" & VBA.vbCrLf
CodeString = CodeString & "Set s = ActiveSheet(2)" & VBA.vbCrLf
CodeString = CodeString & "s.Select" & VBA.vbCrLf
CodeString = CodeString & "End Sub" & VBA.vbCrLf
AddClassCode ClassName, CodeString '添加类模块代码
End Sub
具体实现方法仔细看代码,就会慢慢明白。
下面列出重点代码:
类模块是一个比较难学习的内容,要多次进行练习,如果很难入门,也不要太着急,如果不是深入编程,进行一些很繁杂的程序处理,基本也用不着。
但是,如果学会之后,那将是一个很大的进步。
至于如何利用类模块来实现一些功能,以后有机会,慢慢做一些示例进行讲解。
欢迎关注、收藏
---END--
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved