#excel #vba
#excel #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" amp; LastRow 1).Formula = "=SUM(H2:H" amp; LastRow amp; ")"
End With
End Sub
Я пытаюсь использовать этот код, но ничего не происходит.
Пожалуйста, помогите.
Ответ №1:
В вашем коде есть несколько проблем.
Возможно, вам нужно проверить, как написать With
инструкцию. Кроме того, при использовании For Each
для перебора всех листов в данной книге вам необходимо использовать этот синтаксис : 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" amp; LastRow 1).Formula = "=SUM(H2:H" amp; LastRow amp; ")"
Next
Application.ScreenUpdating = True
End Sub
Комментарии:
1. Вы настоящий чемпион Excel, идеальное решение, большое вам спасибо, мистер ромулакс14.
2. Рад, что это сработало, пожалуйста, подумайте о принятии ответа, установив отметку слева от сообщения (меняется с серого на зеленый)