列总计的Excel VBA代码

时间:2016-04-05 07:16:51

标签: excel vba excel-vba macros

快速提问

用于求和列数据的VBA代码是什么。理想情况下,总和/总数应位于每列的最后一行;我的情况如下。

**Purchase Value**
 6,578,548.01 
 15,883,286.84 

      -
      -
      -
 45,929,606.02 
 26,446,713.72 

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您可以在列中找到包含总和的第一个和最后一个单元格的地址,然后将它们添加起来。有很多方法可以做到这一点,这里有一个适合你:

''code above here for rest of macro
'' ws refers to the destination worksheet
''c is the code, in this case in column A but will be in columns A, B, C or D
ws.Range("A" & lastRow) = c.Offset(, 1)
ws.Range("B" & lastRow) = c.Offset(, 2)
'' code below to continue similarly

此示例查找购买价值的列,然后确定总和范围并将其相加。 正如我所说,这是几种可能的方法之一。

答案 1 :(得分:0)

让我们假设您在A栏中的购买价值

Sub simple()
    LastRow = Range("A" & Rows.Count).End(xlUp).Row
    Total = Application.WorksheetFunction.Sum(Range("A2:A" & LastRow))
    Range("A" & LastRow + 1).Value = Total
End Sub

为您的其他专栏执行此操作。如果列很长,请告诉我。

答案 2 :(得分:0)

以下代码将给出工作表中所有列的总和。 Sum将显示在每列的最后一行下方。

Sub SumAllColumns()
    lastCol = Cells(1, Columns.Count).End(xlToLeft).Column

    For col = 1 To lastCol
        lastRow = Cells(Rows.Count, col).End(xlUp).Row
        colSum = WorksheetFunction.Sum(Range(Cells(2, col), Cells(lastRow, col)))
        Cells(lastrow + 1, col) = colSum
    Next col
End Sub