vba实现分类汇总(VBA代码中七种类型数据的应用)
“VBA代码解决方案”这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高教程,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第2讲:VBA代码中七种类型数据的应用
第二讲 VBA代码中七种类型数据的应用
数据,在人们日常工作中不可缺少,却很少有人能仔细的研究这其间的规律,因为太枯燥了,单单是一个分类就有很多,今日讲在VBA中数据的分类。
1 字符串类型符号:String
字符串是用于保存文本数据的,字符串内容应放置于双引号内。字符长度4字节。
“您好”不可以 “您好” 可以
2 字节型符号:Byte
字节型字符的长度是1个字节。
3 布尔型符号Boolean
布尔型数据用于表示逻辑值:真、假 。其中“真”为True,“假”为False。布尔值数据常用于条件判断语句。布尔型字符长度是2个字节。
- 应当注意的是,当其它数据类型转换为布尔值时,0会转成False,其它值则变成True。当把布尔值转换成其他数据类型时,False会转换为0,True则是-1。
- 注意:和EXCEL的不同点:当把布尔值转换成其他数据类型时,False会转换为0,True则是-1。
4 数字型数据
VBA中用于表示数字的数据类型有4种:
整型 Integer,占用两个字节;长整型 Long,占用4个字节;单精度浮点型 Single,占用4个字节;双精度浮点型 Double,占用8个字节.
1) 整型及长整型用于表示整数,单精度与双精度浮点型都用于表示小数。
2) 整型与长整型的区别在于两者所能表示的数值范围不同:
3) 整型数据能表示的数据范围:-32768 ~ 32767
4) 长整型数据能表示的数据范围:-2147483648 ~ 2147483647
5) 单精度浮点数与双精度浮点数除了在数值范围不同之外,两者所能表示的数据精度(即小数点后多少位)也是不同的
6) 单精度浮点型能表示的数据范围:
在表示负数时: -3.402823E38 ~ -1.401298E-45
在表示正数时: 1.401298E-45 ~ 3.402823E38
7) 双精度浮点型能表示的数据范围:
在表示负数时: -1.79769313486231E308 ~ -4.94065645841247E-324
在表示正数时: 4.94065645841247E-324 ~ 1.79769313486231E308
8) 单精度浮点型其精度是6,即只能保存小数点后最多6位的数据;如果超出以上长度,则超出部分会被去掉,并且会自动四舍五入。
9)双精度浮点型其精度是14,即只能保存小数点后最多14位的数据。如果超出以上长度,则超出部分会被去掉,并且会自动四舍五入。
- 上述各类型的数据在使用时要遵守的一个原则就是:够用就好。而不是越大越好。
符号Date
日期型数据不仅可以表示日期,还可以表示时间。可以表示的日期范围是:100年1月1日 ~ 9999年12月31日;可以表示的时间范围是:0:00:00 ~ 23.59.59。占用8个字节。
能被Excel识别到的日期,都可以赋值给日期型变量。
6 变体型数据符号Variant 变体型数据是一种特殊的数据类型,几乎可以用于保存所有其它数据类型的数据。可以简单地理解为:当不知道变量所要表示的数据是什么类型时,就把它定义为Variant。
7 对象型数据符号Object
对象型是VBA中另一种特殊的数据类型。有点类似于其它高级编程语言中的“对象”,它们都有自己的属性与方法.
上面讲了在VBA中用到的各种数据的类型,这些其实在我们的写代码中经常会用到,加以规范的总结是必要的,不要认为这些简单,数的理论往往看着简单,往往有很深奥的知识在里面。一切圣贤皆以无为法而有差别,最简单的道理是最大的。
实例:在写代码时,在命名变量时,最好使用规范的语句进行声明:如,想要给某数据分数表数据求和,把值放在SUM_NO1中,由于是分数,将会出现小数,而小数的位数不会很多,所以就要利用下面的语句声明:
DIM SUM_NO1 AS Single ’单精度浮点型 Single,占用4个字节
写到这里,肯定会有读者会问什么是字节?此知识点不在本平台的讲解范围内,只做简单的讲解,字节(Byte ):是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。也就是说八个二进制位构成1个"字节(Byte)",1个字节可以储存1个英文字母或者半个汉字,1个汉字占据2个字节的存储空间。
今日内容回向:
1 VBA 中可用的数据类型有哪些?
2 上面分数的表示中用Double代替Single 是否可以?说出自己的观点。
本讲内容参考程序文件:VBA代码解决方案修订(1-48).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解
第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程
第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)
第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解
第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解
第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用
第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解
第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用
上述教程的学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5。
② 7→8
- 如何学习VBA呢? 概括的说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com