我是新手在Excel中使用VBA并且在尝试创建循环以将两个连续数字相加并将其输出到合并单元格时遇到困难。数据如下:
Number - Sum
1 - 8
7 -
1 - 2
1 -
所以我想循环通过第1列中的数字并将前2个数字(1和7,即单元格A1和A2)相加,并将该值返回到它右边的合并单元格,这将是B1。
以下是我到目前为止正确计算单元格A1和A2并将值8放入单元格B1但是之后根本不起作用的内容。我之前有一个循环可以在单独的行中计算2个值,但是在这种情况下我可以知道如何做到这一点。
Sub Loop_Sum()
Set rng = Range("A1:A6")
For Each cell In rng
Cells(cell, 2) = Cells(cell, 1) + Cells(2, cell)
Next cell
End Sub
感谢任何帮助/指针。
感谢。
答案 0 :(得分:2)
您需要更改为递增的For .. Next并将增量步长提前2。
Sub Loop_Sum()
dim i as long, rng as range
Set rng = Range("A1:A6")
For i= 1 to rng.cells.count step 2
rng(i).offset(0, 1) = rng(i) + rng(i + 1)
Next cell
End Sub
答案 1 :(得分:1)
您想使用偏移功能:
Sub Loop_Sum()
Set rng = Range("A1:A6")
For Each cell In rng
If cell.Row Mod 2 = 0 Then 'Change 0 to 1 if it ends up on the worng row.
cell.Offset(, 2) = cell + cell.Offset(1)
End If
Next cell
End Sub
如果你想要一个公式,那么把它放在C2:
=If(mod(row(),2)=0,A2+A3,"")
然后复制。