Excel添加多行

有一个快速的方法来做到这一点?

例如,我有两行

AB

34 5
56 6
34 3
25 2

我想按行进行下面的计算。

A1 = A1 + B1
A2 = A2 + B2
A3 = A3 + B3 ..
..

现在我可以用一个循环的macros来做到这一点

for x = 1 to 500 sheet1.cells(x,1).vlaue = sheet1.cells(x,1).vlaue + sheet1.cells(x,2).vlaue next x 

但是通过使用范围或其他可以作为一个步骤执行的方法,还有更有效的方法吗?

干杯

一个快捷的方法是从即时窗口进入:

 [a1:a500]=[a1:a500+b1:b500] 

方括号是Evaluate函数的快捷方式

我可以想到两个select:

选项1

使用CopyPaste SpecialAdd

 Sub AddStep() Dim rng1 As Range, rng2 As Range Set rng1 = Range([A1], [A1].End(xlDown)) Set rng2 = rng1.Offset(, 1) rng2.Copy rng1.PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd Application.CutCopyMode = False End Sub 

选项2

循环variables数组。 这比循环范围快得多

 Sub AddStep() Dim rng As Range Dim dat As Variant Dim i As Long Set rng = Range([B1], [A1].End(xlDown)) dat = rng For i = LBound(dat, 1) To UBound(dat, 1) dat(i, 1) = dat(i, 1) + dat(i, 2) Next rng = dat End Sub 

选项1更快,但在某些情况下,最好避免使用剪贴板。
testing1,000,000行的样本:
选项1 – 435ms
选项2 – 2589ms

我会这样做的方法是为第一行创build一个公式,然后select所有行后按Ctrl+D 这不是你所追求的吗? 除非我误解了这个问题。