在前一节《Excel VBA 基础》中,我们已初步了解了部分核心概念与基本操作。部分教程中曾出现具体 VBA 代码示例,你或许尚未完全理解其含义——这完全不必担心。从本章《VBA 变量、类型和运算符》起,我们将系统学习 VBA 的语法体系,正式迈入真实的编程实践阶段,助你编写出真正具备实用价值的代码。
本节聚焦于 VBA 编程中最基础也最关键的元素:
VBA 变量
。
所谓变量,是 VBA 中用于临时存放数据的一种代码结构。它所存储的内容可在程序运行期间动态更新,并能在后续逻辑中作为数据参与各类运算与处理。
你可以将变量类比为 Excel 工作表中的单元格地址(如 A1):在公式中,A1 并非代表地址本身,而是指向该单元格中当前所含的数据,并以此为基础进行计算。
变量包含两个核心要素:
变量名
与
变量类型
。
变量名
:即变量的标识名称,用于在代码中引用该变量
变量类型
:指明该变量可容纳的数据种类,例如数值、文本、布尔值等
声明变量
要使用变量,必须先完成声明——即明确指定其名称与所属数据类型。
标准声明语法如下:
其中,
和
是 VBA 中用于变量声明的关键字:
标志着变量声明语句的开始;
后紧跟的是该变量应归属的数据类型。
与
是需由开发者自行填写的部分:
即你为该变量设定的唯一标识;
则定义其可承载的数据范畴。
✅ 变量声明示例
假设我们需要记录员工姓名与年龄,可按如下方式声明:
此处,
和
是变量名;
表示文本型数据,适用于姓名;
表示整数型,适合存储年龄数值。
变量命名规范
变量名虽由用户自定义,但 VBA 对其有严格约束,违反规则将导致编译错误:
必须以英文字母开头;
不得包含空格、英文句点(
)、感叹号(
)、
、
、
、
等特殊符号;
总长度不得超过 255 个字符;
禁止使用 VBA 内置保留关键字(如
、
、
等)作为变量名。
在满足上述硬性要求的前提下,推荐采用
驼峰命名法(CamelCase)
,这是主流编程语言广泛采纳的命名风格,显著提升代码可读性与可维护性。
驼峰命名法规定:若变量名由多个单词组成,则首单词全部小写,其后每个单词首字母大写,其余字母小写。
示例:employeeName、totalSalary、isManager —— 形似骆驼背部起伏,故名“驼峰”。
变量数据类型
变量类型的准确选择,不仅影响程序运行效率与内存占用,更直接关系到逻辑严谨性与错误排查能力。一旦类型确定,若尝试向其赋予不兼容类型的数据,VBA 将立即报错,从而提前规避潜在隐患。
VBA 数据类型主要划分为三类:
数值型
、
非数值型
与
通用型
。
? 数值类型
专用于存储数字,不同子类型对应不同的取值范围与精度:
类型说明取值范围Byte无符号字节型0 ~ 255Integer16位有符号整数-32,768 ~ 32,767Long32位有符号长整数-2,147,483,648 ~ 2,147,483,647Single单精度浮点数负数:-3.402823E38 ~ -1.401298E-45正数:1.401298E-45 ~ 3.402823E38Double双精度浮点数负数:-1.79769313486231E308 ~ -4.94065645841247E-324正数:4.94065645841247E-324 ~ 1.79769313486231E308Currency高精度货币型-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807Decimal定点十进制数未缩放:±79,228,162,514,264,337,593,543,950,335缩放后:±7.9228162514264337593543950335
? 非数值类型
通常不参与数学运算,但承担关键业务表达功能:
类型说明取值范围String变长文本字符串0 ~ 2,147,483,647 字符(约20亿)Boolean布尔逻辑值`True` 或 `False`Date日期时间类型时间:00:00:00 ~ 23:59:59日期:公元100年1月1日 ~ 9999年12月31日Object对象引用类型可指向任意 VBA 或 Excel 对象(如 Worksheet、Range、Workbook 等)
? 通用类型
具备高度灵活性,可自动适配多种数据形态:
类型说明取值范围Variant万能数据类型无固定限制,可存储除定长字符串外的所有类型
⚠️ 注意:
虽使用便捷,但会带来额外内存开销与性能损耗。因此建议——
当数据类型明确时,务必显式声明具体类型;仅在类型不确定或需动态切换时,才选用
。
给变量赋值
掌握变量声明后,下一步便是为其赋予初始值或更新值。
赋值操作遵循简洁统一的语法:
核心符号为等号
,左侧为已声明的变量名,右侧为待赋的值。该操作实质是将右侧值“存入”左侧变量所对应的内存空间。
关于右侧的
,支持两种形式:
直接常量:如
、
、
;
其他变量:如
(前提是
已声明且类型兼容)。
赋值完成后,该变量即可在整个作用域内被反复调用,参与计算、输出、判断等各类逻辑。
✅ 实际赋值示例
这段代码依次完成:
① 声明一个
类型变量
;
② 将文本
赋予该变量;
③ 将变量
当前值写入工作表的 A1 单元格。
小结
本节围绕 VBA 编程基石——
变量
展开,系统讲解了其本质、命名规则、数据类型分类及赋值方法。变量之所以重要,在于其“可变性”赋予程序动态响应能力,大幅提升开发效率与代码复用性。
使用变量的标准流程共分三步:
声明变量
(使用
);
明确指定数据类型
(增强健壮性与性能);
执行赋值操作
(
赋值,启动数据流转)。
Dim [变量名] As [数据类型]DimAsDimAs[变量名][数据类型][变量名][数据类型]Dim name As String
Dim age As IntegernameageStringInteger.!@&$#IfForSubVariantVariant[变量名] = [值]=[值]42"李四"Truename = fullNamefullNameDim name As String
name = "张三"
Range("A1") = nameStringname"张三"nameDim=