2016-04-05 92 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