【发布时间】:2016-04-05 07:16:50
【问题描述】:
快速提问
对列数据求和的 VBA 代码是什么。理想情况下,总和/总计在每列的最后一行;我的例子如下。
**Purchase Value**
6,578,548.01
15,883,286.84
-
-
-
45,929,606.02
26,446,713.72
有什么想法吗?
【问题讨论】:
快速提问
对列数据求和的 VBA 代码是什么。理想情况下,总和/总计在每列的最后一行;我的例子如下。
**Purchase Value**
6,578,548.01
15,883,286.84
-
-
-
45,929,606.02
26,446,713.72
有什么想法吗?
【问题讨论】:
让我们在 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
对您拥有的其他栏目执行此操作。如果列很长,请告诉我。
【讨论】:
您可以在列中找到第一个和最后一个单元格的地址,然后将它们相加。您可以通过多种方式做到这一点,这里有一种适合您:
Sub columnSum()
varSumColumn = Cells.Find(What:="**Purchase Value**", LookAt:=xlWhole).Column
varColumnFirstRow = Cells.Find(What:="**Purchase Value**", LookAt:=xlWhole).Row + 1
varColumnLastRow = Cells.Find(What:="**Purchase Value**", LookAt:=xlWhole).End(xlDown).Row
varColumnSum = Application.WorksheetFunction.Sum(Range(Cells(varColumnFirstRow, varSumColumn), Cells(varColumnLastRow, varSumColumn)))
Cells(varColumnLastRow + 1, varSumColumn) = varColumnSum
End Sub
此示例查找具有 购买价值 的列,然后确定总和的范围并将它们相加。 正如我所说,这是几种可能的方法之一。
【讨论】:
以下代码将给出工作表中所有列的总和。总和将显示在每列的最后一行下方。
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
【讨论】: