Найти сумму одного и того же столбца на нескольких листах и ​​выразить итоги рядом с именем листа на новом листе - PullRequest
0 голосов
/ 22 мая 2019

Я хочу создать макрос, который будет отображать сумму из набора столбцов каждого из нескольких листов.Мне нужно, чтобы сумма столбца «К» отображалась в 1 строке от последней записи переменного числа записей.Требуется, чтобы это было в VBA, поскольку оно должно работать с рядом других функций.

Я пробовал приведенный ниже код, но он не дает ожидаемого результата и, похоже, извлекает данные из другихлистов.

Sub SumWorksheets()

    Dim LastRow As Long
    Dim ws As Worksheet

    For Each ws In Worksheets

        LastRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
        ws.Range("K" & LastRow + 1) = Application.WorksheetFunction.Sum(Range("K2:K" & ws.Rows.Count))

    Next

End Sub

Я хочу, чтобы Сумма всех чисел в столбце «K» отображалась на 2 строки ниже последнего числа в строке «K»

1 Ответ

0 голосов
/ 22 мая 2019

Объявлены и полностью используются переменные ws и LastRow.Неиспользование может привести к тому, что код получит значения из другого листа.Согласно комментарию @LoveCoding, использование другого столбца, так как LastRow может перезаписать ячейку в Col K.Вы должны были использовать переменную LastRow в функции Sum.

Dim ws As Worksheet, LastRow As Long

For Each ws In ThisWorkbook.Worksheets
    LastRow = ws.Range("K" & ws.Rows.Count).End(xlUp).Row

    ws.Range("K" & LastRow + 1) = Application.WorksheetFunction.Sum(ws.Range("K2:K" & LastRow))
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...