2016-03-06 3 views
1

Я пытаюсь получить Excel для автоматизации определенных задач, например. Скопируйте формулу в A1 вниз от A2 до A5000, а затем скопируйте формулу в D1, от D2 до D5000Excel Копировать формулы с использованием макросов

Если это всего лишь 2 разных столбца, я просто скопирую и вставлю, но это фактически 60 столбцов в одном и том же tab, и эти столбцы формулы не находятся рядом друг с другом.

Любые предложения по ускорению процесса? Очень признателен!

Благодаря

ответ

3

Присвоение номера столбца индекса в массиве и петли через них.

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