我正在尝试使用 vba 填充 200,000 个单元格,这需要 5 分钟以上的时间。有没有更快的方法来填充单元格?代码如下所示
代码:
Sub pre()
Dim i As Long: i = 2
Dim rex As Variant
For rex = -10 To 10 Step 0.001
Cells(i, 47) = rex
i = i + 1
Next rex
End Sub
我想只是为了让你更容易,我试图填充 AU 列中的单元格从 -10 到 10 并且每次都有 0.001 的变化
最佳答案
加载一个数组,然后将该数组分配给单元格。
Sub pre()
Dim i As Long: i = 1
Dim arr(1 To 200000, 1 To 1) As Variant
Dim rex As Variant
For rex = -10 To 10 Step 0.001
arr(i, 1) = rex
i = i + 1
Next rex
ActiveSheet.Cells(2, 47).Resize(200000).Value = arr
End Sub
从 vba 访问工作表会减慢代码速度。限制访问工作表的次数。
关于vba - 在 vba 中填充单元格的更快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50882358/