当我尝试将数组(30K行)写入特定范围时,我收到运行时错误“400”。
以下是我定义数组的方法(简化版):
Set wb = ActiveWorkbook
Set ws = wb.ActiveSheet
With ws
tweets = .Range(Cells(1, 1), Cells(lastrow, lastcol)).Value2
'then there is code to filter the tweets array and create a new array called test which contains the filtered values
End With
wb.Sheets("sheets2").Cells(1, 1).Resize(UBound(test, 1), UBound(test, 2)).value = test
运行此操作失败。当我用“hello”这样的字符串替换“test”时,它确实有效。任何帮助将不胜感激(Excel 2013,我使用“Option Explicit”)。
编辑:请注意,我编写数组的目标不是“sheets2”,而是在for循环期间动态创建的工作表。因此我在实际代码中使用sheetname(i)而不是“sheets2”。不知道是否会产生问题。此外,我有时会收到1004错误,只有一半的数据被写入工作表......非常奇怪。