首页 > 解决方案 > 如何在每个工作表 vba 中的固定列底部求和总计

问题描述

如何在每个工作表上动态求和H列底部H列的总值。我的代码如下:

    Sub Sum_All()
    Dim ws As Worksheet
    Application.ScreenUpdating = False
    For Each ws In Worksheets
        ws.Select
        Call Sum_This
    Next
    Application.ScreenUpdating = True
    End Sub

    Sub Sum_This()
    Dim LastRow As Long
    With ActiveSheet
    LastRow = Cells(Rows.Count, "H").End(xlUp).Row
    Range("H" & LastRow + 1).Formula = "=SUM(H2:H" & LastRow & ")"
    End With
    End Sub

我正在尝试这段代码,但没有任何反应。

请帮忙。

标签: excelvba

解决方案


您的代码有几个问题。
您可能需要检查如何编写With声明。此外,当For Each用于循环遍历给定 WorkBook 中的所有 WorkSheets 时,您需要使用此语法 : For Each ws In myWorkBook.WorksheetsmyWorkBook作为引用WorkBook您想要的变量的变量。

尝试这个 :

Sub Sum_All()
    Dim LastRow As Long
    Application.ScreenUpdating = False
    For Each ws In ThisWorkbook.Worksheets
        LastRow = ws.Cells(Rows.Count, "H").End(xlUp).Row
        ws.Range("H" & LastRow + 1).Formula = "=SUM(H2:H" & LastRow & ")"
    Next
    Application.ScreenUpdating = True
End Sub

推荐阅读