【问题标题】:VBA AutoFill Speed IssueVBA 自动填充速度问题
【发布时间】:2016-06-22 14:12:22
【问题描述】:

我有这段代码,它从列的一个单元格中复制公式,速度非常慢(10000 行工作表需要 15 分钟)。代码为:program.Worksheets("Data").Range("X2:AC2").AutoFill program.Worksheets("Data").Range("X2:AC" & LastRow)

我也试过输入.AutoFill Destination,但没有解决问题。我正在使用With Worksheets("Data"),但仍然无法正常工作。我还尝试手动插入公式,这也不起作用(根本)。 关于如何更快的任何建议? 谢谢!

【问题讨论】:

  • 花费时间的不是填充单元格的代码,而是公式执行的计算。加快速度的唯一方法是编写更有效的公式。
  • 在填充过程中关闭自动计算并在之后重新启用?
  • 不幸的是,在之后关闭和打开自动计算也不起作用,因为当它完成时,列只是空的,它不会填充任何东西。

标签: excel vba macros autofill


【解决方案1】:
program.Worksheets("Data").Activate
Range("X2:AC").AutoFill Destination:=Range("X2:AC" & LastRow)

【讨论】:

  • 这也可以,但和我的解决方案一样慢:(
  • 为减少时间,请在运行代码前使用Application.Calculation = xlCalculationManual,在运行代码后使用Application.Calculation = xlCalculationAutomatic
猜你喜欢
  • 1970-01-01
  • 2019-03-07
  • 2021-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-23
  • 1970-01-01
相关资源
最近更新 更多