【发布时间】:2019-12-13 01:46:25
【问题描述】:
在下面的子例程中,定义二维数组似乎不适用于续行。 TestArray1 按预期初始化,但是当我添加行继续时,我收到了消息,
“编译错误 - 右括号丢失”。
(实际上我不确定英语的确切措辞,用德语做这个。在德语中,错误消息是,
“Fehler beim Komilieren: Fehlende schliesende Klammer”。
我相信英语离我们不远了。)
为什么这不起作用?
Sub TestArrays()
Dim TestArray1 As Variant, TestArray2 As Variant
TestArray1 = [{"1String1", "1String2", "1String3"; "2String1", "2String2", "2String3"; "3String1", "3String2", "3String3"}]
TestArray2 = [{"1String1", "1String2", "1String3"; _
"2String1", "2String2", "2String3"; _
"3String1", "3String2", "3String3"]}
End Sub
【问题讨论】:
-
也许这个 --> stackoverflow.com/questions/22854386/…?
-
请注意,您最后混淆了
}],而不是]}。 -
谢谢,这两个帖子确实解决了这个问题,但是我遇到了同样的问题。所以我知道,每当您使用方括号 [] 时,Excel 会将其视为 Excel,而不是 VBA,因此无法识别延续。将短字符串串成一个较长的字符串,然后使用 Evaluate 确实有效,但仅适用于总长度小于 255 个字符的字符串。我试图通过使用大量行来避免填充二维数组:myArray (1,1) = "Str1", myArray(1,2) = "Str1 and stuff" 等,或者使用环形。在我开始工作之前还有其他想法吗? ;)
-
致 BigBen - 是的,谢谢,当我更正它时,它也出现了同样的错误。必须在提交中切换。
标签: excel vba line-continuation