VBA 类型不匹配 (数组和单元格)

dimdataNum(4)asintegerdataNum(1)=thisworkbook.sheets(1).cells(2,2).value执行宏显示类型不匹配。请高... dim dataNum(4) as integer
dataNum(1)=thisworkbook.sheets(1).cells(2,2).value

执行宏显示类型不匹配。请高手指正
展开
 我来答
haihuazjz
2012-09-25 · TA获得超过223个赞
知道答主
回答量:212
采纳率:100%
帮助的人:93.9万
展开全部
首先,不知道你的thisworkbook.sheets(1).cells(2,2).value中的sheets(1)是否写错(是否为sheet1呢)。
其次,我试验过了,这种方法是可以。如果你的实在是不行,你也可以考虑先用一个string类型的变量取得cells(2,2)的值,然后用函数Val把它转化成Integer型。
chaohua008
推荐于2016-08-13 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5800
采纳率:14%
帮助的人:3014万
展开全部
如果你sheet(1).cells(2,2)中的显示数据不是integer型的,就会出错,因为你在代码中定义了数组变量的类型为integer,可以把第一句中的as integer去掉,就可以使用任意类型了。即: dim dataNum(4)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-09-25
展开全部
thisworkbook.sheets(1).cells(2,2)中的数值属性不是integer,就会出错。
多数时候excel能够自动转换数值类型,但是我也遇到过“就是”不给你转换的情况,不知原因。

所以,在 thisworkbook.sheets(1).cells(2,2).value 外面加上一个强制转换的函数
是避免麻烦的一个方法。

建议使用CInt(thisworkbook.sheets(1).cells(2,2).value )方式

(仅供参考)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式