2016-04-05 65 views
-3

快速问题用于列汇总的Excel VBA代码

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

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

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

任何想法?

回答

0

您可以在列中找到第一个和最后一个包含和的单元格的地址,然后将它们相加。有许多方法可以做到这一点,这里是一个给你:

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 

这个例子与采购价值找到列,然后确定数额的范围,并增加了起来。正如我所说,这是几种可能的方法之一。

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 

为你列的其余做到这一点。如果专栏很长,请让我知道。

0

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

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