Мне каким-то образом удалось вывести Excel 2010 из строя, введя в IDE в совершенно новой рабочей книге следующее:
private sub foo
redim v(,1 to 3)
ОК, вы вряд ли напечатаете это... но вот что произошло на самом деле:
private sub foo
dim v(1 to N, 1 to M)
...
M = New_Value
redim preserve v(,1 to M) ' seemed reasonable ... then CRASH !!!
Забавно, что VBA требует, чтобы вы были явными с 1-м параметром двумерного сохранения redim (в том смысле, что вам не разрешается изменять 1-е измерение). Но не смешно, когда наказанием за простую синтаксическую ошибку является жесткий сбой. Это IT-департамент с достаточно чистой средой (никаких установленных дополнений, запуск с пустой панели проекта в IDE), и "redim v(,1 to M)" обрушил машину моего соседа - так что дело не только во мне.
Мне интересно, встречается ли такое поведение у других, и я размещаю эту статью на тот случай, если она спасет кого-то еще от тех часов, которые я потратил на перестройку своих рабочих книг, пока не обнаружил ошибку.