【发布时间】:2016-11-08 10:38:51
【问题描述】:
经过数小时的测试,我发现当数组为空时,UBound 在 Excel 2013 和 Excel 2010 中的行为不同:在 Excel 2010 中,Ubound(EmptyArray) 结果为 0,而在 Excel 2013 中,我得到一个“下标范围”错误(这实际上是我所期望的)。
谁能确认这种行为变化?
谢谢,
最好的问候,
亚历山大
【问题讨论】:
经过数小时的测试,我发现当数组为空时,UBound 在 Excel 2013 和 Excel 2010 中的行为不同:在 Excel 2010 中,Ubound(EmptyArray) 结果为 0,而在 Excel 2013 中,我得到一个“下标范围”错误(这实际上是我所期望的)。
谁能确认这种行为变化?
谢谢,
最好的问候,
亚历山大
【问题讨论】:
我可以确认 UBound 在 95 到 2016 年的所有 Excel 版本中的空数组上引发运行时错误 9“下标超出范围”。
如果它不适合您,则不是您正在调用的 UBound 函数(源代码中是蓝色的吗?)或者数组不为空。
在 v2010 的某个时间点引入 Office VBA 错误并立即修复的可能性很小,但我不知道。
【讨论】:
好的,我很抱歉......我应该在发布问题之前休息一下......我发现数组不是空的。这不是隐藏得很好的借口,我还是想提一下……
再次抱歉!
【讨论】: