我正在处理一个子程序来执行一些计算,并从几个不同的表(相同大小和类似内容)中收集结果,然后将它们转储到工作表中。 目前我的司机看起来像这样:
Sub Driver()
Dim works() As Variant
Dim rng As Range
Dim ws as worksheet
'This reliably works and outputs an
works = GenerateWorksArray()
Set ws = Worksheets.Add
Set rng = ws.Range("A1:P1").Resize(UBound(works, 1))
'This is where it all breaks down
rng = works
end sub
从GenerateWorksArray
传回的数组是1,500 x 16变体数组,包含字符串,货币和双精度数。出于某种原因,当我用rng = works
输出数组时,只有前156行被正确输出,从那时起,我什么都没得到。
代码似乎仍在运行,如果我点击该范围内的单元格,我可以看到公式栏正在大幅闪烁。当我尝试停止或中断代码执行excel时崩溃。有没有人经历过类似的事情并且得到了一个有效的解决方案,因为我很难过?
答案 0 :(得分:1)
尝试ws.Range("A1").Resize(UBound(works, 1), UBound(works, 2))