列总计的Excel VBA代码
快速提问 对列数据求和的VBA代码是什么。理想情况下,总和/总数应位于每列的最后一行;我的心电图在下面列总计的Excel VBA代码,vba,excel,macros,Vba,Excel,Macros,快速提问 对列数据求和的VBA代码是什么。理想情况下,总和/总数应位于每列的最后一行;我的心电图在下面 **Purchase Value** 6,578,548.01 15,883,286.84 - - - 45,929,606.02 26,446,713.72 有什么想法吗?您可以在列中找到第一个单元格和最后一个单元格的地址,然后将它们相加。有很多方法可以做到这一点,这里有一种: Sub columnSum() varSumCo
**Purchase Value**
6,578,548.01
15,883,286.84
-
-
-
45,929,606.02
26,446,713.72
有什么想法吗?您可以在列中找到第一个单元格和最后一个单元格的地址,然后将它们相加。有很多方法可以做到这一点,这里有一种:
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
本例查找包含购买值的列,然后确定总和的范围并将其相加。
正如我所说,这是几种可能的方法之一。让我们在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 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