编写了一个excel宏来计算两个不同范围的总和,这将逐一检查5000行.如何减少运行时间



请在下面找到我的代码;

Do While Cells(i, 1).Value <> "" 

重复任务直到数据范围

Set Rng_1 = Range(Cells(i, C_Start), Cells(i, C_End)) 

设置范围1

Set Rng_2 = Range(Cells(i, 4), Cells(i, C_End)) 

设置范围2

Cells(i, 3).Value = Application.WorksheetFunction.Sum(Rng_1) 

添加范围1

Cells(i, 2).Value = Application.WorksheetFunction.Sum(Rng_2)

添加范围2

i = i + 1 
Loop

增加下一行的值

使用'formulaR1C1'可以消除循环代码。请参阅下面的代码。

Range("B4").FormulaR1C1 = "=Sum(RC" & C_Start & ":RC" & C_End & ")"
Range("C4").FormulaR1C1 = "=Sum(RC4:RC" & C_End & ")"
Range("A4").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Select
Range(Selection, ActiveCell.Offset(0, 1)).Select
Range(Selection, Selection.End(xlUp)).Select
Selection.FillDown

使用这种方法,宏在一分钟内完成任务

最新更新