我在Excel工作表中有两列,分别称为numOne和numTwo,如下所示:
numOne numTwo
1 2
2 3
3 6
4 7
现在我想写一个VBA宏(automate)来添加这些列并创建第三列numSum我该如何实现呢?输出应该如下所示:
numOne numTwo numSum
1 2 3
2 3 5
3 6 9
4 7 11
先谢了
3条答案
按热度按时间7lrncoxx1#
假设您的输入位于电子表格的第1列和第2列,从第2行开始,您可以实现如下目的(即使Excel公式更合理):
...这是解决问题的“纯”VBA方法,即电子表格中只有硬编码数据,而不向单元格添加任何公式。
ncgqoxb02#
正如vba4all所说,您可以使用公式轻松完成此操作,但要使用VBA完成此操作,您可以尝试:
wnvonmuf3#
如果你想加起来,让我们假设列“A”和“B”到列“D”:
ThisWorkbook.Sheets(“YourSheet”).Columns(“D”).FormulaArray = “=C[-3]+C[-2]”
此语法的工作原理:
行的语法相同:
ThisWorkbook.Sheets(“YourSheet”).Rows(“4”).FormulaArray = “=R[-3]+R[-2]”
对于块:
ThisWorkbook.Sheets(“YourSheet”).Range(“C1:C3”).FormulaArray = “=RC[-2]:R[3]C[-2]+RC[-1]:R[3]C[-1]”
对于C1:C3 = A1:A3 + B1:B3。
“同一行,向右两列”被称为RC[2],而不是R[0]C[2]。
祝你好运:)