嗨,谢谢,也很抱歉提出这样一个新手问题 如何创建一个VBA代码,用于添加A1 + B1 = C1,然后是下一行,即A2 + B2 = C2,依此类推。 请帮我。我知道如何创建公式,但这个我不知道。 任何帮助将不胜感激。 谢谢。 只需一个简单的宏即可。
这里已经出现但无济于事。
Worksheets("Total").Activate
Set MyRange = Range("H3:H100")
For Each mycell in MyRange
H3 = A3+B3+C3
(so if the next loop it will look like H4 = A4+B4+C4 and so on)
Next mycell
End sub
答案 0 :(得分:1)
这里你不需要任何循环。有更有效的方式:
With Worksheets("Total").Range("H3:H100")
.Formula = "=A3+B3+C3" ' or "=SUM(A3:C3)"
.Value = .Value
End With
<强>解释强>
1)行.Formula = "=A3+B3+C3"
在每个单元格中写入公式。 Excel会自动为每行调整此公式:
H3
公式中的=A3+B3+C3
H4
公式中的=A4+B4+C4
H100
公式中的=A100+B100+C100
您也可以使用此公式:.Formula = "=SUM(A3:C3)"
- 结果将是相同的。
2)行.Value = .Value
使用结果值重写公式。如果要保留公式,可以删除此行。
如果您仍然感兴趣如何使用循环执行相同的操作,请查看以下代码:
Dim MyRange As Range, c As Range
With Worksheets("Total")
Set MyRange = .Range("H3:H100")
For Each c In MyRange
c.Value = .Range("A" & c.Row) + .Range("B" & c.Row) + .Range("C" & c.Row)
Next mycell
End With
上面的代码循环遍历范围H3:H100
中的每个单元格,并计算A
,B
,C
列中相应值的总和。
你可以在这里看到我的表现:.Range("A" & c.Row)
。这里c.Row
返回&#34;当前&#34;的行号。范围H3:H100
和"A" & c.Row
中的单元格会在A3
引用c
,H3
时向A4
提供c
- 当H4
引用{时{1}}等等。
您可能还想阅读此内容:How to avoid using Select/Active statements