Excel中的VBA变量、数据类型和常量

⚡ 智能摘要

Excel 中的 VBA 变量、数据类型和常量用于存储和标记程序使用的值。本页解释了变量命名规则、使用 Dim 进行隐式和显式声明、数值和非数值数据类型,以及如何使用 Const 声明常量。

  • 📦 变量: 存储在内存中的命名值,代码会存储该值,并在稍后读取该值。
  • 🔤 命名规则: 名称长度不超过 255 个字符,不含空格,不以数字开头,且不含句点。
  • ✍️ 宣言: Dim 关键字显式声明一个变量,例如 Dim Num As Integer。
  • 🔢 数字类型: 字节、整数、长整型、单精度浮点型 Double货币和十进制在存储方式和范围上有所不同。
  • 🔠 非数值类型: String、Boolean、Date、Object 和 Variant 分别存储文本、真值或假值、日期和对象。
  • 🔒 不变: Const 关键字声明一个不能更改的值,例如 Const DaysInYear = 365。

Excel中的VBA变量、数据类型和常量

几乎所有计算机程序都会用到变量,VBA 也不例外。在程序开始时声明变量是一种很好的做法。这不是必需的,但它有助于识别内容的性质(文本、数据、数字等)。

VBA 变量

变量是存储在计算机内存或存储系统中的特定值。 Later,您可以在代码中使用该值并执行。计算机将从系统中获取该值并显示在输出中。每个 Excel VBA 变量类型都必须有一个名称。

要在 VBA 中命名变量,需要遵循以下规则。

  • 必须少于 255 个字符
  • 不允许有空格
  • 不能以数字开头
  • 不允许期限

以下是 VBA 中变量的有效名称和无效名称的一些示例。

VBA 变量 有效名称 VBA 变量 无效名称
我的手表 我的手表
新车1 1_NewCar(不以数字开头)
员工ID 员工 ID(不允许有空格)

In VBA,我们需要在使用变量之前通过分配名称和数据类型来声明变量。

在 VBA 中,变量可以隐式声明,也可以显式声明。

  • 含蓄地:下面是隐式声明变量的示例。
  • 标签=guru99
  • 体积=4
  • 明确地: 下面是显式声明变量的示例。您可以在语法中使用“Dim”关键字
  • 暗淡 整数
  • 暗淡 密码作为字符串

VBA 变量与其他编程语言没有什么不同。要在 VBA 中声明变量,请使用关键字 “暗淡。”

VBA 变量的语法,

要在 VBA 中声明变量,请键入 Dim,后跟名称:

Sub Exercise ()
        Dim <name>
End Sub

在执行变量之前,我们必须记录一个 Excel 中的宏。要录制宏,请执行以下操作 -

步骤1):录制宏 1

步骤2) :停止宏 1

步骤3):打开宏编辑器,在Macro1中输入变量的代码

第4步): 执行宏 1 的代码

例如,对于 VBA 变量

Sub Macro1()
	Dim Num As Integer
	Num = 99
	MsgBox " Guru " & Num
End Sub

运行此代码时,您将在工作表中获得以下输出。

VBA 变量

Excel VBA 数据类型

计算机无法区分数字(1,2,3、XNUMX、XNUMX..)和字符串(a、b、c..)。为了进行这种区分,我们使用数据类型。

VBA 数据类型可分为两种类型

  • 数值数据类型
类型 存放 取值范围
字节 1字节 0到255
整数 2字节 32,768到32,767
4字节 2,147,483,648到2,147,483,648
集成的 4字节 负值为 -3.402823E+38 至 -1.401298E-45,正值为 1.401298E-45 至 3.402823E+38。
Double 8字节 对于负值,为 -1.79769313486232e+308 至 -4.94065645841247E-324
正值为 4.94065645841247E-324 至 1.79769313486232e+308。
货币 8字节 922,337,203,685,477.5808到922,337,203,685,477.5807
十进制 12字节 +/- 79,228,162,514,264,337,593,543,950,335 如果没有小数,则使用 +/- 7.9228162514264337593543950335 (28 位小数)
  • 非数字数据类型
数据类型 使用的字节数 取值范围
字符串(固定长度) 字符串长度 1至65,400个字符
字符串(可变长度) 长度 + 10 字节 0 到 2 亿个字符
布尔 2字节 对或错
日期 8字节 1年100月31日至9999年XNUMX月XNUMX日
摆件 4字节 任何嵌入的对象
变量(数字) 16字节 任意值 Double
变体(文本) 长度+22字节 与可变长度字符串相同

在 VBA 中,如果 如果未指定数据类型,则会自动将变量声明为 Variant。

让我们看一个例子,说明如何在 VBA 中声明变量。在此示例中,我们将声明三种类型的变量:字符串、加入日期和货币。

步骤1) 就像在上一个教程中一样,我们将在 Excel表格.

Excel VBA 数据类型

步骤2) 下一步,右键单击按钮并选择查看代码。它将打开代码窗口,如下所示。

Excel VBA 数据类型

步骤3) 在此步骤中,

  • 点击保存按钮保存文件 Excel VBA 数据类型
  • 然后点击 Excel 图标 Excel VBA 数据类型 在同一窗口中返回 Excel 表。
  • 您可以看到设计模式已“开启”,并以绿色突出显示

Excel VBA 数据类型

步骤4) 单击命令按钮之前,请关闭设计模式

Excel VBA 数据类型

步骤5) 关闭设计模式后,您将单击 commandButton1。它将显示以下变量作为我们在代码中声明的范围的输出。

  • 姓名
  • 加盟日期
  • 货币收入

Excel VBA 数据类型

VBA 中的常量

常量类似于变量,但您无法修改它。要声明 VBA 常量,可以使用关键字 常量.

常量有两种类型,

  • 内置或由应用程序固有提供。
  • 符号或用户定义

您可以将范围指定为 私立 默认或 国家. 例如,

公共常量年天数=365

私人常设工作日=250

下载包含上述代码的 Excel

下载上述Excel表格 Code

变量作用域和显式选项

变量的声明位置决定了它的使用范围,模块顶部的一个简单设置就能防止大多数错误。ping 错误。了解这两点能确保不断发展的程序可靠运行。

关键字 适用范围 终身版
(在 Sub 内部) 仅此过程声明了它 每次运行该程序后都要重置
静止 仅保留过程,但值保持不变。 通话间隙还记得
私有(位于模块顶部) 该模块中的每个过程 当工作簿打开时,生活就会发生改变。
公开(位于模块顶部) 项目中的每个模块 当工作簿打开时,生活就会发生改变。

💡提示: 类型 选项显式 作为每个模块的第一行。它强制所有变量都使用 Dim 声明,这样在编译时就能捕获拼写错误的变量名,而不是默默地创建一个新的空 Variant 类型。

常见问题

变量的值可以在代码运行时进行更改。常量的值则使用 `Const` 声明,并且不可更改。常量适用于永不改变的值,例如税率。

整数类型只能存储 -32,768 到 32,767 之间的值,因此行计数或较大的数字会导致其超出范围。长整型可以存储更大的值,并且 Microsoft 现在,现代 VBA 建议使用 Long 类型表示整数。

如果未指定类型,则默认类型为 Variant。它可以存储数字、文本、日期或对象,虽然灵活,但会占用更多内存并降低运行速度。尽可能声明特定类型。

是的。AI 代码助手会读取变量的使用方式,并建议合适的类型,例如计数器使用 Long 类型,文本使用 String 类型。开发者确认选择后,再添加 Option Explicit 属性。

是的。AI 助手会标记拼写错误或未声明的变量,解释 Option Explicit 报告此问题的原因,并建议正确的声明方式。开发者应用此修复并重新编译模块。

总结一下这篇文章: