【问题标题】:Excel 2013 VBA: Changed behaviour of UBound when array is emptyExcel 2013 VBA:数组为空时 UBound 的更改行为
【发布时间】:2016-11-08 10:38:51
【问题描述】:

经过数小时的测试,我发现当数组为空时,UBound 在 Excel 2013 和 Excel 2010 中的行为不同:在 Excel 2010 中,Ubound(EmptyArray) 结果为 0,而在 Excel 2013 中,我得到一个“下标范围”错误(这实际上是我所期望的)。

谁能确认这种行为变化?

谢谢,

最好的问候,

亚历山大

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    我可以确认 UBound 在 95 到 2016 年的所有 Excel 版本中的空数组上引发运行时错误 9“下标超出范围”。

    如果它不适合您,则不是您正在调用的 UBound 函数(源代码中是蓝色的吗?)或者数组不为空。

    在 v2010 的某个时间点引入 Office VBA 错误并立即修复的可能性很小,但我不知道。

    【讨论】:

    • 感谢 GSerg 的宝贵时间和回答!不幸的是,如上所述,我犯了一个错误,数组确实不是空的。
    【解决方案2】:

    好的,我很抱歉......我应该在发布问题之前休息一下......我发现数组不是空的。这不是隐藏得很好的借口,我还是想提一下……

    再次抱歉!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 2013-05-02
      相关资源
      最近更新 更多