大数据集VBA的For-loop崩溃

我试图给每个数据点的索引值。 它适用于小数据集,但是当我的数据集是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 

你可以用索引字段生成一个二维变体数组(像你的75000行样本):

 X = Evaluate("=ROW(A1:A75000)")