以下是excel 2007宏中的代码,让我RunTime error '91' Object variable or With block variable not set
:
Dim Balance(3, 12, 1) As Object
Balance(0, 0, 0) = "abL"
Balance(1, 0, 0) = "cd"
Balance(2, 0, 0) = "ef"
Balance(3, 0, 0) = "gh"
我是vb的新手。请帮忙。
P.S我曾经使用过Java,C#,C,PHP和一些程序集,但从来没有像VB那样对它们感到如此不舒服。今天可能是糟糕的一天。
答案 0 :(得分:0)
原因很简单。您已将数组声明为Object
。将String
声明为String
,因为您要在其中存储Public Sub Sample()
Dim Balance(3, 12, 1) As String 'Or Variant
Balance(0, 0, 0) = "abL"
Balance(1, 0, 0) = "cd"
Balance(2, 0, 0) = "ef"
Balance(3, 0, 0) = "gh"
End Sub
值。试试这个。这工作
Dim Balance(3, 12, 1) As Variant
进一步阅读:MSDN Article
通过评论进行跟进
我将在同一个多维数组中存储字符串和数字,因此,我需要保留类型Object - Salik 4分钟前
在这种情况下使用
Public Sub Sample()
Dim Balance(3, 12, 1) As Variant
Balance(0, 0, 0) = "abL"
Balance(1, 0, 0) = 1
Balance(2, 0, 0) = "ef"
Balance(3, 0, 0) = 2
End Sub
例如,这对我有用。
{{1}}
进一步阅读:MSDN Article关于变体数据类型