Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel使用宏复制公式_Excel_Macros_Vba - Fatal编程技术网

Excel使用宏复制公式

Excel使用宏复制公式,excel,macros,vba,Excel,Macros,Vba,我试图让Excel自动执行某些任务,例如将A1中的公式从A2复制到A5000,然后将D1中的公式从D2复制到D5000 如果只是两个不同的列,我会复制粘贴,但实际上是在同一个选项卡中的60列,并且这些公式列不是相邻的 有什么加快速度的建议吗?非常感谢 谢谢将列索引号分配给一个数组并循环遍历它们 Sub extendFormulas() Dim c As Long, fr As Long, lr As Long, arrCols As Variant arrCols = Arra

我试图让Excel自动执行某些任务,例如将A1中的公式从A2复制到A5000,然后将D1中的公式从D2复制到D5000

如果只是两个不同的列,我会复制粘贴,但实际上是在同一个选项卡中的60列,并且这些公式列不是相邻的

有什么加快速度的建议吗?非常感谢


谢谢

将列索引号分配给一个数组并循环遍历它们

Sub extendFormulas()
    Dim c As Long, fr As Long, lr As Long, arrCols As Variant

    arrCols = Array(1, 4)       'assign a collection of the column index numbers; this is A and D
    fr = 1                      'assign a starting row that already has the formula
    lr = 5000                   'assign a finishing row
    With Worksheets("Sheet1")
        For c = LBound(arrCols) To UBound(arrCols)
            .Range(.Cells(fr, arrCols(c)), .Cells(lr, arrCols(c))).Formula = _
                .Cells(fr, arrCols(c)).Formula
        Next c
    End With
End Sub