如何用代码创建类模块,VBA编程进阶学习,千万别错过

Excel vba编程进入深水阶段,那就对底层的一些代码构建有一定的了解。

类模块就是其重要的一环,可以利用类模块做一些十分有用的事情。

其实在VBA实际应用中,离不开类模块的运用,只有我们并不知道而已。

每一个代码之后,或许就应用到类模块,大多是系统给我们预置完成的一些模块,看上去并不能很明显地发现,但它实实在在的存在,并处理着所有的表格功能。

本节重点讲一下,如何利用代码来创建一个类模块和删除一个类模块。

然后再给新建的类模块添加代码,代码可以是你想构建的任何功能。

上图为本节示例中的部分代码。

三个按钮分别实现不同的功能,下面具体看代码进行认识,功能都进行了模块化构建,所以在使用的时候要分清楚什么地使用这些代码。

添加类模块过程:

Public Sub AddClassCode(ClassName As String, CodeString As String)'添加类模块代码Dim Class As ObjectFor Each Class In ThisWorkbook.VBProject.VBComponents If Class.Name = ClassName Then Class.CodeModule.AddFromString (CodeString) End IfNext ClassEnd Sub

删除类模块过程:

Public Sub DelClass(ClassName As String)'删除类模块Dim Class As ObjectFor Each Class In ThisWorkbook.VBProject.VBComponents    If Class.Name = ClassName Then        ThisWorkbook.VBProject.VBComponents.Remove Class    End IfNext ClassEnd Sub

添加类模块代码过程:

Public Sub AddClassCode(ClassName As String, CodeString As String)'添加类模块代码Dim Class As ObjectFor Each Class In ThisWorkbook.VBProject.VBComponents If Class.Name = ClassName Then Class.CodeModule.AddFromString (CodeString) End IfNext ClassEnd Sub

调用如上代码使用下面的按钮过程:

Private Sub CommandButton1_Click()Dim ClassName As String, CodeString As StringClassName = 'NewClass01' '定义类模块名称DelClass ClassName '删除类模块addClass ClassName '添加类模块'定义类模块代码CodeString = 'Public s As New Worksheet' & VBA.vbCrLfCodeString = CodeString & 'Private Sub opensheet(s As Worksheet)' & VBA.vbCrLfCodeString = CodeString & 'Set s = ActiveSheet(2)' & VBA.vbCrLfCodeString = CodeString & 's.Select' & VBA.vbCrLfCodeString = CodeString & 'End Sub' & VBA.vbCrLfAddClassCode ClassName, CodeString '添加类模块代码End Sub

具体实现方法仔细看代码,就会慢慢明白。

下面列出重点代码:

  • 添加类模块:ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule)
  • 删除类模块:ThisWorkbook.VBProject.VBComponents.Remove '类模块对象'
  • 添加类模块代码:ThisWorkbook.VBProject.VBComponents('类模块名').CodeModule.AddFromString (CodeString)

类模块是一个比较难学习的内容,要多次进行练习,如果很难入门,也不要太着急,如果不是深入编程,进行一些很繁杂的程序处理,基本也用不着。

但是,如果学会之后,那将是一个很大的进步。

至于如何利用类模块来实现一些功能,以后有机会,慢慢做一些示例进行讲解。

(0)

相关推荐

  • 利用VBA代码操作VBE一例

    ▎具体需求 工作表中存在代码,现在需要把代码写入当前工作表的模块中,并插入按钮,指定按钮触发该程序(循环打开工作簿这个sub过程).全部都用VBA的方式来实现. ▎代码思路 首先需要新建模块,将代码写 ...

  • VBA--事件过程

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 在VBA中,当执行"打开工作簿"."选择工作 ...

  • VBA类模块初步

    这里简单地介绍VBA中的类模块,使大家能够在应用程序中创建并使用简单的类. 类是对象的"模板".对象可以是任何事物,而类不会做任何事情,也不会占用内存,只有当类成为对象并使用Set ...

  • [VBA]类模块

    使用类模块可以创建自定义的类,使用此类作为模板创建对象. 类模块包含一系列的属性,方法和事件,用来和其他对象或创建对象的代码交互. · 属性   有两类属性,第一类为Public类型的模块级变量,第二 ...

  • VBA 类模块理解和使用总结

    目 录 VBA 类模块理解和使用总结 一.类的概念 二.类的定义 三.类详细定义 关于封装 关于多态 关于异常 关于自定义事件 四.结论: VBA 类模块理解和使用总结 一.类的概念 记得有人总结,V ...

  • 如何设置系统日期,一行VBA编程代码教你学会

    No.1 VBA编程中,获取日期是一个简单的功能,同样对日期进行增减计算处理也是个容易的操作. 本节我们来了解一下关于计算机系统日期的一些操作. DateAdd函数 如上图所示,DateAdd是一个函 ...

  • 值得收藏的VBA编程常用代码

    VBA过程代码36:返回系统的当前日期 Sub MyNZ() Dim MyDate, MyDay MyDate = Date MyDay = Day(MyDate) MsgBox MyDay END ...

  • VBA类模块应用方法介绍,这一点很重要

    VBA中类模块是一个很重要的难点,如果没有深入研究,通常不会涉及到,但是,想要提高编程方面的能力,类模块的应用,必须要学会. 当然了,既然是难点就并不容易学会. 本节介绍一个方法,如何实现单选按钮选择 ...

  • Excel VBA编程中有哪些常用的英文词汇儿

    --HI,大家好,我是星光,总有朋友问学习VBA和英语好坏有关系吗? 这问题让俺怎么回答呢,说没关系也有关系,说有关系其实也没多大关系-- VBA只是一个非常初级的编程语言,甚至在很多人眼里算不上编程 ...

  • vba编程基础1

    在主要的编程语言中, 结构体是用大括号来表示 代码段的 范围 界定的. 但是在一些比较'老的'语言中,由于历史原因, 还是使用的 是: 关键字来进行界定代码 的 结构段, 如vba中的 语法结构: i ...

  • VBA编程练习08:删除工作表而不显示提示信息

    excelperfect 本次的练习非常简单,但在许多场合都会用到. 本次练习题 当我们删除工作簿中的工作表时,Excel会自动弹出"MicrosoftExcel将永久删除此工作表.是否继续 ...