问题描述
如何在每个工作表上动态地从 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
我正在尝试这段代码,但是什么也没发生。
请帮助。
解决方法
您的代码有几个问题。
您可能需要检查如何编写With
语句。
另外,在使用For Each
遍历给定WorkBook中的所有WorkSheets时,您需要使用以下语法:For Each ws In myWorkBook.Worksheets
,myWorkBook
是与您想要的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