excel 在VBA中添加两列

cqoc49vn  于 2022-11-18  发布在  其他
关注(0)|答案(3)|浏览(725)

我在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

先谢了

7lrncoxx

7lrncoxx1#

假设您的输入位于电子表格的第1列和第2列,从第2行开始,您可以实现如下目的(即使Excel公式更合理):

Sub numSum()
Dim count As Integer: count = 0
Cells(1,3) = "numSum"
Do While Cells(1,count + 2) <> ""
    Cells(3,count+2) = Cells(1,count+2) + Cells(2,count+2)
    count = count + 1
Loop
End Sub

...这是解决问题的“纯”VBA方法,即电子表格中只有硬编码数据,而不向单元格添加任何公式。

ncgqoxb0

ncgqoxb02#

正如vba4all所说,您可以使用公式轻松完成此操作,但要使用VBA完成此操作,您可以尝试:

Sub test()
LastRow = ActiveSheet.UsedRange.Rows.Count
Range("C1").Formula = "=A1+B1"
Range("C1").AutoFill Destination:=Range("C1:C" & LastRow)
End Sub
wnvonmuf

wnvonmuf3#

如果你想加起来,让我们假设列“A”和“B”到列“D”:
ThisWorkbook.Sheets(“YourSheet”).Columns(“D”).FormulaArray = “=C[-3]+C[-2]”
此语法的工作原理:

  • 选择结果列(此处:栏D)
  • 引用要相加的列时,不要按其名称,而要按其来自结果列的位置。C[-2]表示左侧第二列,C[5]表示右侧第五列,依此类推。“C[-2]”中的“C”表示“列”。
  • 您可以根据需要添加任意多个列

行的语法相同:
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]。
祝你好运:)

相关问题