VBA 数据类型基础教程

在介绍 VBA 变量的教程中,初步学习了数据类型相关知识。VBA 中虽然不强制指定数据类型,但是正确使用数据类型,可以使程序更易理解,也能提高程序的运行效率。

今天通过实际的代码例子,进一步学习 VBA 中的数据类型。

本文目录 隐藏
文本类型
数字类型
逻辑类型
日期和时间类型
Variant 类型

文本类型

文本类型可以说是最常用的数据类型。实际中,几乎所有的数据均是文本类型。因此理解好文本是学习 VBA 的基础。

类型 说明 数据范围
String 文本类型 0 至 20亿字符

首先,声明一个文本类型变量,String是类型标识符,语法如下:

Dim name As String

VBA 中,文本需使用英文双引号表示。

name = 'Zhang San'

如果把数字两端加上双引号,它会变成文本类型,不再表示数字

name = '101'

可以使用单元格内的文本,给文本类型变量赋值。

name = Range('A1')

与 Excel 提供的文本函数一样,VBA 也提供多种文本函数,可直接在程序中使用,包括:

  • Format:格式化数据,并以文本类型返回
  • InStr:返回指定字符的位置
  • InStrRev:反方向返回指定字符位置
  • Left:返回左侧指定长度文本
  • Len:返回文本长度
  • LCase:大写字母转换成小写字母
  • LTrim:清除开头的空格
  • Mid:返回指定的开始和结束位置之间的文本
  • Replace:替换文本中的指定字符
  • Right:返回右侧指定长度文本
  • RTrim:清除末尾处的空格
  • Space:返回指定重复数的空格文本
  • StrComp:返回比较两个文本的结果
  • StrConv:将文本转换成指定格式
  • String:返回指定重复数的文本
  • StrReverse:逆转提供的字符串
  • Trim:清除开头和结尾处的文本
  • UCase:将小写字母转换成大写字母

每个函数的用法,在「内置函数」一章中详细介绍。

数字类型

数字类型是第二个基础数据类型。在写 VBA 代码时,应根据具体的数字大小,选择合适的数字类型。

如果小数字使用大范围数字类型存储,会浪费计算机内存;如果大数字使用小范围的数字类型存储,VBA 会自动转换成对应小范围数字,导致数字丢失精度。

VBA 中的数字类型包括如下几种。

类型 说明 数据范围
Byte 比特 0 至 255
Integer 整数 -32,768 至 32,767
Long 长整数 -2,147,483,648 至 2,147,483,648
Single 单精度浮点数 在表示负数时: -3.402823E38 ~ -1.401298E-45
在表示正数时: 1.401298E-45 ~ 3.402823E38
Double 双精度浮点数 在表示负数时: -1.79769313486231E308 ~ -4.94065645841247E-324
在表示正数时: 4.94065645841247E-324 ~ 1.79769313486231E308
Currency 货币 -922,337,203,685,477.5808 至 922,337,203,685,477.5807
Decimal 定点数 未放置定点数: +/- 79,228,162,514,264,337,593,543,950,335
放置定点数: +/- 7.9228162514264337593543950335

其中,IntegerLongDouble是常用到的数字类型。

与文本相似,声明数字类型,使用如下语句:

Dim age As Integer

以上定义一个岁数变量,使用基本的 Integer 整数类型即可。

数字类型变量可以像数字一样,参与各类算数运算:

age = 3
age * 2 + 10 '-> 16

更多数字类型相关的内容,将在以后的教程中详细介绍。

逻辑类型

逻辑类型只有两个值,True 和 False,即真与假。

类型 说明 数据范围
Boolean 逻辑值 True 或 False

逻辑值虽然只有两个,但是在程序中有着广泛的应用。VBA 中判断语句中,经常能用到逻辑值。

首选,声明一个逻辑变量,使用如下语句:

Dim isPass As Boolean

给逻辑变量赋值是,可以直接使用逻辑值,也可以使用返回逻辑值的表达式。

isPass = False
isPass = 70 >= 60

日期和时间类型

VBA 中的日期和时间使用数字表示,整数部分代表日期,小数部分代表时间。

  • 日期从 100-1-1 开始到 9999-12-31。
  • 时间从 00:00:00 到 23:59:59。

声明日期类型变量,使用如下语句:

Dim birthday As Date Dim time As Date

给日期变量赋值时,可以直接把日期放置在两个 # 之间赋值,也可以使用数字,还可以把日期作为文本赋值:

birthday = #2018-1-1#
birthday = 43101
birthday = '2018-1-1'

time = #12:00:00#
time = 0.5
time = '12:00:00'

Variant 类型

Variant 类型是一种通用类型,可以表示任何一种类型的数据。它也是声明变量未指定数据类型时的默认类型。

虽然 Variant 类型方便,但是相应的,占用更大的内存空间,也会影响程序运行效率。因此建议,在明确知道数据时何种类型时,指定数据类型;如果数据类型是可变的或不明确,使用 Variant 类型。

转载注明:文章转载自「懒人Excel - lanrenexcel.com
本文标题:VBA 数据类型基础教程
(0)

相关推荐

  • 关于VBA中的变量声明

    摘 要: 基于Microsoft Office系列办公软件中内嵌的VBA语言,本文作者针对其语法规则中的变量声明规则进行了论述,重点介绍了显式声明和隐式声明的用法,并对两种声明方式进行了对比,提出了程 ...

  • ​Excel中的数据类型,你来说说有哪些?

    小伙伴们好啊,今天咱们来说说Excel中的数据类型. 数据还分类型吗? 对啊,就像有些人是内分泌失调型,有些人是老年痴呆型,还有些人是闲的没事找抽型,Excel中的数据也分为不同的类型.将数据保存为正 ...

  • 逻辑值TRUE和FALSE与1和0的关系

    在之前的文章中,我们已经学完了常用逻辑函数,包括条件判断的if函数,处理错误值的iferror函数,还有and和or函数.也知道了逻辑值true代表条件成立,false代表条件不成立.今天来说说tru ...

  • VBA 常量基础教程

    常量一旦赋值,其值不能改变.在程序运行整个过程,其值一直保持不变. 声明常量 Const [常量名] As [数据类型] = [值] 实例 现在看一个实例,将 π 的值作为一个常量声明,在后续的过程中 ...

  • VBA 变量基础教程

    使用变量主要有3个步骤: 声明变量 指定变量的数据类型 给变量赋值 一.声明变量 Dim [变量名] As [数据类型] 二.给变量赋值 [变量名] = [数据] 注:一个值得注意的点是,[数据]的形 ...

  • Excel VBA 0基础教程14——根据模板生成日报表

    Excel VBA 0基础教程14——根据模板生成日报表

  • 【新提醒】VBA之Listbox控件基础教程

    2.3.Listbox如何显示"标题" 要是Listbox中的列很多,用户就很难搞清楚该列到底是什么数据,这时还得有必要加个标题.上面说了,使用了List属性,就没法使用标题了,只 ...

  • excel VBA的Format函数使用基础教程

    Format(值,格式(可选参数)) 一.数字格式: 1.General Number:普通数字,可以用来去掉千位分隔号和无效 0 . 如:Format("1,234,567.80" ...

  • Price Action(裸K交易系统)水平支撑阻力位基础教程

    Price Action(裸K交易系统)水平支撑阻力位基础教程

  • 【基础教程】后片开领、斜肩不断线的织法

    本帖最后由 雪花/aiq飘飘 于 2013-8-25 13:26 编辑 在毛衣的编织过程中,后片的开领往往都很浅,只要几行:但是,就是这几行,两边的开领就要2根线:如果衣衣织好后,不准备拆的,那是无所 ...

  • 零起步教你怎样学画画 素描基础教程

    学画画关键有3点,就是动手.动手.动手. 素描的概念(兼思想教育.热身) 素描从广义上讲,顾名思义,包含有"朴素的描写"之意.它是用铅笔.毛笔.钢笔.碳笔,甚至是现在流行的手写版的 ...

  • 基础教程:让我们一起学画牛吧!

    牛是刻苦耐劳.敦厚温良的写照.在国画的形式中一般是写意的国画,对牛更是喜爱.牛因其生存环境.功用的不同,他的生理结构和生活习性也有很大的差别.画牛者必爱牛,认识始于形表,通过对形体结构.运动规律与劳作 ...