【问题标题】:Excel VBA Code for Column Totals列总计的 Excel VBA 代码
【发布时间】: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 

有什么想法吗?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    让我们在 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】:

      您可以在列中找到第一个和最后一个单元格的地址,然后将它们相加。您可以通过多种方式做到这一点,这里有一种适合您:

      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
      

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

      【讨论】:

        【解决方案3】:

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

        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
        

        【讨论】:

          猜你喜欢
          • 2012-09-09
          • 2015-09-02
          • 1970-01-01
          • 2011-02-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多