Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 8521|回复: 5

[已解决]VBA数组运算和工作表数组公式运算相同吗?

[复制链接]
发表于 2010-12-3 16:31 | 显示全部楼层 |阅读模式

 

VBA数组运算和工作表数组公式运算相同吗?

VBA数组运算和工作表数组公式运算相同吗?


Sub a()
    Dim x
    x = 1 + [{2,3}]
End Sub

如果仅看赋值号右边:在工作表数组公式运行中,可以得到{3,4}

但VBA数组运行中,为什么不可以?

且提示类型不匹配(和类型有关系吗?)

谢谢!

最佳答案
2010-12-3 16:45

在VBA中数组是不能和单个值进行运算的。工作表中可以,所以把公式换成下面的就可以了

x = [1 + {2,3}]

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-12-3 16:45 | 显示全部楼层    本楼为最佳答案   

在VBA中数组是不能和单个值进行运算的。工作表中可以,所以把公式换成下面的就可以了

x = [1 + {2,3}]

回复

使用道具 举报

 楼主| 发表于 2010-12-3 16:52 | 显示全部楼层

QUOTE:
以下是引用小福贵在2010-12-3 16:45:00的发言:

在VBA中数组是不能和单个值进行运算的。工作表中可以,所以把公式换成下面的就可以了

x = [1 + {2,3}]

谢谢小富贵!

x=[工作表数组公式的表达方式],这样记没问题吧。

vba中数组运行,和工作表数组公式运行,两者有哪些相同或不同呢?

回复

使用道具 举报

发表于 2010-12-3 16:55 | 显示全部楼层

QUOTE:
以下是引用爱疯在2010-12-3 16:52:00的发言:

谢谢小富贵!

x=[工作表数组公式的表达方式],这样记没问题吧。

vba中数组运行,和工作表数组公式运行,两者有哪些相同或不同呢?

[]其实是evaluate()的简写,前者不能插入变理,后者可以。evaluate就是把表达式转换为实际的值。

工作表可以进行数组运算,即一组值和一个数和另一组值的运算,而VBA中不可以。只有调用工作表运算或通过循环。

回复

使用道具 举报

 楼主| 发表于 2010-12-3 17:30 | 显示全部楼层

谢谢!

怕混淆,慢慢学习好了

 

[em04]
回复

使用道具 举报

发表于 2012-3-13 16:25 | 显示全部楼层
学到一招解决了一个难题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-24 07:42 , Processed in 0.185513 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表