Excel VBA数组赋值出错(Type Mismatch)求教!!!

Debug了很久也没看出是啥问题,集中在这一段中,我抽出来给大家看看!------------------------------------------以下为出错代码段... Debug了很久也没看出是啥问题,集中在这一段中,我抽出来给大家看看!

------------------------------------------以下为出错代码段------------------------------------------------
Sub Macro1()
Dim Height(), Width(), ColumnOffset(), SourceRowOffset(), TargetRowOffset() As Integer
SourceRowOffset = Array(0, 13, 13, 17)
MsgBox SourceRowOffset(0)
End Sub
----------------------------换了个数组名就没事了,以下这段没出错------------------------------------
Sub Macro1()
Dim Height(), Width(), ColumnOffset(), SourceRowOffset(), TargetRowOffset() As Integer
SourceRowOffset = Array(0, 13, 13, 17)
MsgBox SourceRowOffset(0)
End Sub
究竟是为什么呀?求大神指教!!!!
**********************************************************************************
噢!不好意思!出错代码段写错了!以上当我在废话吧!!!!!!
然后我又试了一下其他名字,发现也不行,请问我这样写的有什么问题啊?
Sub Macro1()
Dim a() As Integer
a = Array(1, 13, 13, 17)
MsgBox a(0)
End Sub

Run-Time Error 13
Type Mismatch!

--------------------------------------------------------------------
然后我又试了一下把定义数组类型(As Integer)去掉了,发现就可以了
Sub Macro1()
Dim a()
a = Array(1, 13, 13, 17)
MsgBox a(0)
End Sub

难道 a = Array(1, 13, 13, 17)这样赋值就不是赋的Integer型的数组?
求教大神啊!
展开
 我来答
表里如一
2014-04-19 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11648
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
系统默认你的Array(1, 13, 13, 17)里面的数是文本。。你定义的是整形,肯定就不对了。
更多追问追答
追问
啊?默认为文本?!怎么会这样的?完全不懂哈哈哈。。。
那我该如何定义或者如何赋值才能使这个数组为整形啊???
谢谢大神指教~~~
啊?默认为文本?!怎么会这样的?完全不懂哈哈哈。。。
那我该如何定义或者如何赋值才能使这个数组为整形啊???
谢谢大神指教~~~
落叶l无情
2014-04-19 · TA获得超过1417个赞
知道大有可为答主
回答量:1372
采纳率:0%
帮助的人:1463万
展开全部
使用Array给数组赋值,数组必须为Variant类型(vb默认数据类型)
追问
啊?!原来这回事啊?!谢谢哈!有木有相关个Array语法解释的参考网站送我看看呀?!完全不懂呢~~~谢谢啊~~~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式