Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 26498|回复: 5

[分享] vba类模块浅显学习之二,最简单的类模块

[复制链接]
发表于 2011-3-18 22:53 | 显示全部楼层 |阅读模式
本帖最后由 wbzxz 于 2011-3-20 09:20 编辑

开始觉得类模块很难,类模块也确实难,但是在学习的过程中才发现,如果你要想写一个简单的类模块,其实很简单。
举一个简单的类模块例子,为了说明问题,我都使用了中文变量,但是在实际编写过程中,大家尽量不要用中文变量。

下面的操作和代码就定义了一个简单的类模块

1.插入类模块:在VBE中选择 “插入”--“类模块”。(ok,类模块已经插入啦)
2.类模块改名:在"属性“窗口中修改类的名称为 ”雇员“。(现在我们就有个叫做”雇员“的类模块)
3.在类模块中写入代码
  1. Option Explicit

  2. Public 姓名 As String
  3. Public 工资 As Double
  4. Public 每周工作时间 As Double
复制代码
哈哈,我们的第一个可以用的类模块就这样完成啦。

我们看到,上面代码只是变量定义语句,定义的变量就是类模块的属性,用来存储类模块的属性值,可以进行读取和赋值。就是这样简单,只要你需要你的类模块有多少个属性,你就定义多少个变量。


不过非常重要的一点,是定义变量的时候,一定要用Public才行,因为其他模块要要访问这个变量,必须保证这个变量的作用域是工程级的,这是一定要注意的。Dim Private Static定义的变量都不行,切记,至于为什么,请看下面链接
http://www.excelpx.com/thread-168436-1-2.htmlvba类模块浅显学习之一,定义变量与作用域

4.类模块如何应用:其实就和平常我们使用excel预定义好的对象一样的。
代码如下:

  1. Option Explicit

  2. Sub EmployeePay()

  3.   Dim 新雇员 As New 雇员 '创建“雇员”类模块对象的单个实例——新雇员
  4.   
  5.   '给“新雇员”的各个属性赋值
  6.   新雇员.姓名 = "张三"
  7.   新雇员.工资 = 15
  8.   新雇员.每周工作时间 = 35
  9.   
  10.   '读取“新雇员”的各个属性的值
  11.   MsgBox "雇员姓名:" & 新雇员.姓名 & Chr(13) & _
  12.           "雇员每小时工资:" & 新雇员.工资 & Chr(13) & _
  13.           "雇员每周工作时间:" & 新雇员.每周工作时间 & Chr(13)
  14. End Sub

复制代码


前面的几个帖子链接地址

vba类模块浅显学习之一,定义变量与作用域


本文代码的源文件

类模块基本示例1.rar (9.07 KB, 下载次数: 362)

类模块基本示例2.rar

10.11 KB, 下载次数: 322

评分

参与人数 1 +50 收起 理由
兰色幻想 + 50 真不错,字母。继续加油

查看全部评分

发表于 2011-3-18 23:29 | 显示全部楼层
本帖最后由 兰色幻想 于 2011-3-18 23:30 编辑

你试试在类模块中插入一个sub语句,就成了类模块成员的方法了。
回复

使用道具 举报

 楼主| 发表于 2011-3-20 09:35 | 显示全部楼层
嘿嘿,兰版类模块的方法,我还没有太搞懂呢。
回复

使用道具 举报

发表于 2011-4-8 22:54 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

发表于 2011-4-16 18:51 | 显示全部楼层
正在学习类模块
谢谢
回复

使用道具 举报

发表于 2011-4-16 19:13 | 显示全部楼层
可以试着将输入数据的SUB和显示数据的SUB分开来写
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 07:40 , Processed in 0.322710 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表