我正在尝试为每个数据点提供一个索引值。它适用于小型数据集,但是当我的数据集为 750,000 时,程序崩溃。 Excel 给出以下错误消息:对象范围的方法值失败。
这是我的一些代码:
Set datatable = sDataImport.ListObjects("dataTable")
Dim lastRow As Single
'给导入的数据一个索引值
lastRow = sDataImport.ListObjects("dataTable").ListRows.Count
For i = 1 To lastRow
datatable.ListColumns("index").DataBodyRange(i, 1).value = i
Next i
你们有解决这个问题的想法吗?
最佳答案
解决了。工作也快得多。
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlManual
Dim arr As Variant
ReDim arr(1 To lastRow, 1 To 1) As Variant
For i = 1 To lastRow
arr(i, 1) = i
Next
datatable.ListColumns("index").DataBodyRange.value = arr
Application.ScreenUpdating = True
Application.EnableEvents = True
关于excel - 大型数据集 VBA 的 For 循环崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28008616/