VBA数据类型

本文介绍了VBA中各种数据类型,包括布尔型、字节型、货币型、日期型、Decimal型、Double型、Integer型、Long型、Object型、Single型、字符串型和Variant型。每个类型的特点和适用范围都有详细阐述,例如布尔型用于逻辑数据,Double型用于高精度浮点数,Variant型作为默认数据类型灵活性强但处理速度稍慢。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

布尔数据类型 (–1或0)

使用布尔数值数据类型来存储仅包含两个值的逻辑数据:打开和关闭,true和false,yes和no,等等。 关键字True和False是预定义的常量,可以分别与值–1和0互换。


字节数据类型 (0到255)

字节是VBA最小的数字数据类型,并具有0到255之间的数字值。此数据类型不包含任何负值。 如果您尝试分配一个,VBA将返回错误。


货币数据类型

使用“货币”数字数据类型存储从–922,337,203,477.5808到922,337,203,685,477.5807的货币值。


日期数据类型

Date数据类型存储特殊格式的

代表日期和时间的数值 。 您不必同时存储日期和时间值。 Date数据类型接受日期或时间,或两者都接受。 可能的值范围是100年1月1日到9999 12月31日。小数数据类型

Decimal数据类型是Variant的子类型,并不是一个真正独立的数据类型,如果该值不包含小数位,则可容纳从–79,228,162,514,264,337,593,543,950,335到79,228,162,514,264,337,593,543,950,335,335的值。 数据类型的精度最高可保留28个小数位,其值从–7.9228162514264337593543950335到7.9228162514264337593543950950335。

双重数据类型

使用Double数据类型存储从–1.79769313486232E308到–4.94065645841247E-324或1.79769313486232E308到4.94065645841247E-324的精确浮点数。


整数数据类型

除了字符串之外,这可能是最常用的数据类型。 使用此数据类型仅存储范围为–32,768至32,767的整数。

长数据类型

Long数据类型也是仅存储整数的Integer数据类型,但是范围比传统的Integer数据类型大得多。 使用Long存储从–2,147,483,648到2,147,483,647的值。

对象数据类型

Object变量实际上是对Access对象(例如表单,报表或控件)的引用。 或者,数据类型可以引用ActiveX组件或在类模块中创建的类对象。

单一数据类型

单一数据类型存储精度数字,即带小数位或小数的数字。 数据类型类似于Double,但是范围较小。 使用此数据类型存储从–3402823E38到–1.401298E–45或从1.401298E–45到3.402823E38的值。

字符串数据类型

字符串是另一种非常常见的数据类型。 它存储值或数字,但将其视为文本。 有两种:固定的和可变的。 固定字符串可以处理1到65,400个字符。 声明一个

固定字符串,请使用Dim变量名形式的Dim语句As String * stringlength

相反,

变量 String数据类型根据需要增加和缩小以适合其存储值。 默认情况下,所有String变量都是此类型。 要声明此类型,请使用以下形式的Dim语句
Dim变量名As字符串 变量数据类型

Variant数据类型存储数字和非数字值。 此数据类型是最灵活的,因为它存储几乎任何类型的非常大的值(与Double数值数据类型匹配)。 仅在不确定数据类型或容纳外部数据并且不确定数据类型的规格时才使用它。

Variant数据类型是VBA的默认值,因此以下代码将varValue解释为Variant:

昏暗的varValue

尽管Variant数据类型很灵活,但是VBA处理这些数据类型的速度要慢一些,因为它必须为分配的值确定最准确的数据类型。 但是,很可能您永远不会注意到性能下降。

最大的缺点是数据类型缺乏可读性。 那样的话,我们意味着您无法通过查看代码轻松确定合适的数据类型,这可能是一个问题。

注意:

请参阅

Matthew的帖子 ,提供有关VBA7中64位算术和指针兼容性的更新信息

From: https://bytes.com/topic/access/insights/601315-vba-data-types

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值