excel - 如何在 VBA 中使用 As 声明具有指定类型的多个变量?
问题描述
根据Microsoft 的此文档,可以使用以下代码来确保;
a、b、c都是Single;x 和 y 都是 Double
Dim a, b, c As Single, x, y As Double, i As Integer
> a, b, and c are all Single; x and y are both Double
这背后的逻辑如下
您可以通过为您声明的每个变量使用单独的
As
子句来为不同的变量指定不同的数据类型。As
每个变量都采用在其变量名部分之后遇到的第一个子句中指定的数据类型。
但是,当我检查调试器或MsgBox VarType(a)
输出时,情况并非如此。
如您所见,它似乎As
仅适用于其自身之前的变量,即. c
,y
和i
. 所有其他都是 Variant/Empty 并VarType
返回 0。
这只是文档有误,还是我遗漏了一些明显的东西?
Microsoft Visual Basic 应用程序 7.1.1056 Excel 2016 (Windows 10)
解决方案
您链接到的文档没有错,但它是为 VB.NET 而不是 VBA 编写的。
正如您所观察到的,在 VBA 中,任何没有紧跟其后的变量声明都As <type>
将是Variant
.
因此,您需要编写:
Dim a As Single, b As Single, c As Single, x As Double, y As Double, i As Integer
推荐阅读
- c# - 循环在第一次迭代后重置数组的元素?
- pandas - 在seaborn中按升序绘制和重新排列值
- android - 由于依赖问题,Firebase 存储无法正常工作
- r - 连接两个字符向量
- angular - 离子菜单按钮未显示在工具栏中
- nexus3 - 如何将文件夹上传到 Nexus?
- java - ShedLock virsion 4.20.1-计划任务NoClassDefFoundError ClockProvider发生意外错误
- dll - 如何仅将 64 位 WINE 的 32 位 DLL 与 64 位 Linux 库链接?
- java - 定义不会刷新用户会话的请求
- laravel - 处理来自请求的验证错误