Excel 2013 VBA: изменено поведение UBound при пустом массиве

После нескольких часов тестирования, я обнаружил, что UBound ведет себя по-разному в Excel 2013 и Excel 2010, когда массив пуст: в Excel 2010, Ubound(EmptyArray) приводит к 0, в то время как в Excel 2013 я получаю ошибку «Subscript out of Range» (что на самом деле то, что я ожидал бы).

Может ли кто-нибудь подтвердить это изменение в поведении?

Спасибо!,

С уважением,

Александр

2 ответа

  1. Я могу подтвердить, что UBoundвызывает ошибку времени выполнения 9 «Subscript out of Range» на пустом массиве во всех версиях Excel от 95 до 2016.

    Если это не для вас, это либо не UBoundфункция, которую вы вызываете (это синий в исходном коде?) или массив не пуст.

    Есть небольшой шанс, что ошибка Office VBA была введена в какой-то момент в v2010 и была быстро исправлена, но я не знаю об этом.

  2. Хорошо, мне очень жаль…. Я должен был сделать перерыв, прежде чем я разместил вопрос… Я обнаружил, что массив не пуст. Это не оправдание, что это было хорошо скрыто, все же я хотел упомянуть…

    Еще раз извините!