
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型的数组?
求教大神啊! 展开
------------------------------------------以下为出错代码段------------------------------------------------
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型的数组?
求教大神啊! 展开
2个回答
2014-04-19 · 知道合伙人软件行家
关注

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