首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >variant()和variant之间有什么区别吗?

variant()和variant之间有什么区别吗?
EN

Stack Overflow用户
提问于 2014-12-02 21:24:05
回答 1查看 1K关注 0票数 6

考虑一下

代码语言:javascript
复制
Dim u As Variant, v() As Variant

u = Range("A1:B3").Value
v = Range("A1:B3").Value

现在u和v之间有什么区别吗?如果不是,那么将v声明为变量数组,而不是简单地将其声明为变量,是否是多余的?

EN

回答 1

Stack Overflow用户

发布于 2014-12-02 21:31:23

这是有区别的。可以将Variant看作是存在于您的机器的较低级别的东西,并且具有到VBA的应用程序编程接口。底层的东西是一个VARIANT,Windows附带了几个函数,可以让你在多种语言中操作它;VBA就是其中之一。

v是这样的VARIANT的Visual Basic数组,而u是一个单独的数组。

发现差异的一种方法是使用计算结果为vbArray + vbVariantVarType(v)VarType(u)的计算结果为vbEmpty。您可以在分配给range内容之前对此进行测试。

在您的特定情况下,Excel-VBA在为v赋值时做了一些奇特的事情(我不认为有其他术语):它“知道”目标类型是一个数组,并执行稍微不同的强制。设置为Excel.Range的值后,uv完全相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27250592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档