vba - 在 vba 中填充单元格的更快方法

标签 vba excel loops

我正在尝试使用 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/

相关文章:

excel - 如何从雅虎财经下载仅限 100 行的数据

python - 通过从 SQL DB 导入的 pd 数据帧的子集提高循环性能

c# - foreach 循环未以预期值启动控制台输出

excel - 如何在VBA中查找日期之间的差异

arrays - Excel VBA 编译错误参数在遍历附加到类集合的数组时不是可选的

VBA自动化获取不到innerText(innerHTML,value)

vba - 如何将Word文档中的所有表格导出到单独的Excel工作表

c# - 使用 C# 从 Excel 中查询两个日期,但问题是我得到的结果是错误的日期

用于生成 excel 文件的 Javascript 库

javascript - NG-Repeat 生成包含动态类的列表