Excel VBA:获取两列的总和(一直向下)并插入新列?

时间:2015-07-02 11:00:50

标签: excel vba excel-vba

示例我希望VBA代码获取单元格“A1”和“B1”并将这两个加在“C1”中,

因此它需要使用A2,A3,A4 ......一直到列的最后并将其汇总到C列。

任何人都可以帮忙编程吗?

2 个答案:

答案 0 :(得分:3)

我确信您可以通过搜索轻松找到答案,但这里有一段可能对您有所帮助的代码:

Sub SumColumns()

Dim Nb_Rows As Integer

'Nb_Rows can be any integer
For i = 1 To Nb_Rows
    Range("C" & i).Value = Range("A" & i).Value + Range("B" & i).Value
Next i

End Sub

计算Ai + Bi的值并将其放入Ci中。 您可以选择Nb_Rows的值:如果您确切知道要计算的行数,则可以指定确切的值,否则只需选择一个较大的数字,这样您就可以确保它遍历整个工作表。

答案 1 :(得分:0)

使用公式略有不同的版本 - 使用数字比使用数字更容易使用数字 CELLS(RowNum,ColNum)

Sub SumColumns()

    Dim Nb_Rows As Integer
    Nb_Rows = 4

    With ThisWorkbook.Worksheets("Sheet1")
        .Cells(1, 3).FormulaR1C1 = "=Sum(RC1, RC2)"
        .Cells(1, 3).AutoFill Destination:=.Range(.Cells(1, 3), .Cells(Nb_Rows, 3))
        .Range(.Cells(1, 3), .Cells(Nb_Rows, 3)) = .Range(.Cells(1, 3), .Cells(Nb_Rows, 3)).Value
        .Cells(Nb_Rows + 1, 3).FormulaR1C1 = "=SUM(R1C:R[-1]C)"
    End With

End Sub