【问题标题】:autosum from multiple worksheets来自多个工作表的自动求和
【发布时间】:2018-10-15 10:33:08
【问题描述】:

我目前有一个包含多个工作表的工作簿,包括一个主工作表。我当前的 VBA 提供了主工作表中指定列的总和,并且效果很好。

但是,我想编辑 VBA,这样我也可以在不同的工作表上获得列的总和值。我在下面附上了代码以供参考,如果有人可以建议我如何编辑它以包含多个工作表,将不胜感激。

`Sub AutoSum()
Sheets("MASTER ACCOUNT REVENUE").Select
Range("D4").Select
Range("F4").Select
Selection.End(xlDown).Select
ActiveCell.Offset(2, 0).Select
Dim cel1 As String, cel2 As String
cel1 = ActiveCell.Offset(-2, 0).End(xlUp).Address
cel2 = ActiveCell.Offset(-1).Address
ActiveCell.Value = "=sum(" & (cel1) & ":" & (cel2) & ")"
End Sub` 

【问题讨论】:

    标签: excel vba sum


    【解决方案1】:

    我有三个工作表,其值为“A1”。此子例程显示代码所在工作表上单元格“A2”中所有这些值的总和:

    Sub sum()
    
    Range("a2") = Worksheets(2).Range("a1") + Worksheets(3).Range("a1") + Range("a1")
    
    End Sub
    

    【讨论】:

    • 谢谢!但是,有没有办法为预定义的列自动求和?我的 VBA 向下求和一列,当列中没有更多数据要求和时停止。
    • lrow = Worksheets(1).Range("A" & Rows.Count).End(xlUp).Row Worksheets(1).Range("A" & lrow + 1).Value = WorksheetFunction.Sum(.Range("A1:A" & lrow)) 将汇总 A 列中的值并在最后一行之后显示总和。
    • 谢谢@oxwilder,这已经奏效了!我还有另一个问题。由于我每天都会向此工作簿添加工作表,有没有办法设置 vba,以便它为我添加的每个新工作表汇总相同的列?这将使我不必每次都进入 vba 并添加工作表和单元格范围,这将变得乏味。谢谢!
    • 当您通过不同的工作表对同一单元格区域应用操作时,您可以使用for each 循环。请参阅一些 vba 教程以获取更多信息,因为我无法在此处详细介绍,但基本上您会说“对于(集合)工作表中的每个工作表......”应用一些操作。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 2020-09-24
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多