通过在全新的工作簿中输入以下内容,我能以某种方式崩溃Excel 2010:
private sub foo
redim v(,1 to 3)
Run Code Online (Sandbox Code Playgroud)
好吧,你不太可能打字......但这是真正发生的事情:
private sub foo
dim v(1 to N, 1 to M)
...
M = New_Value
redim preserve v(,1 to M) ' seemed reasonable ... then CRASH !!!
Run Code Online (Sandbox Code Playgroud)
有趣的是,VBA要求你明确地使用2D redim保留的第一个参数(因为你不允许改变第一维).但是,如果对简单语法错误的惩罚是一次严重的崩溃,那就不好笑了.这是一个环境相当干净的IT部门(没有安装插件,在IDE中启动空项目窗格),"redim v(,1到M)"也崩溃了我邻居的机器 - 所以这不仅仅是我.
我想知道这种行为是否会与其他人一起发生,而且我发布它是为了防止其他人浪费时间重建我的工作簿,直到我确定了这个bug.