快速的方法来复制excel公式VBA
我正在自动化一个巨大的工作表,我需要为工作簿写一个新的macros,这些工作簿将在几张表中插入行,然后复制所有的公式。 我有pastespecial = xlpasteformulas,但这导致macros运行有点laggy,即使计算设置为自动。
我知道有一种方法可以让每个单元格都像这样
this.formula = cellaboveit.formula
但是这是抄袭确切的公式。 我想知道是否有办法抵消单元格上方单元格中的公式。
Range("C4:D4").Resize(5).FillDown
将在C4:D4中填充公式以填充接下来的四行
我认为在复制公式之前将计算模式设置为手动,之后将其重置为自动是最好的。 在自动中,它通常要在每个副本上计算公式。
Application.Calculation = xlCalculationManual 'Do stuff here Application.Calculation = xlCalculationAutomatic
此外,我build议如果你只是简单地复制单元格的列向下,然后不是逐个单元格,而是作为批处理例如。
Range(myCopyCell).Select Selection.Copy Range(myPasteRange).Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
其中myCopyCell
是要复制的公式的单元格,而myPastRange
是您希望公式的完整范围。