Как ввести формулу справа от последней строки - PullRequest
0 голосов
/ 18 марта 2019

Пожалуйста, смотрите таблицу ниже, я хочу поместить промежуточные итоги в 1 строку по сравнению с последней строкой. Это хорошо сработало для строк C и D (с использованием приведенного ниже кода), однако остальные столбцы не всегда содержат информацию в каждой строке.

lastrow = Cells(Rows.Count, "C").End(xlUp).Row + 1
Cells(lastrow + 1, 3).Formula = "=sum(C1:C" & lastrow & ")"
lastrow = Cells(Rows.Count, "D").End(xlUp).Row + 1
Cells(lastrow + 1, 4).Formula = "=sum(D1:D" & lastrow & ")"

Как я могу вставить формулу справа от других моих промежуточных итогов (выделено желтым цветом), так как они нужны мне в одной строке?

Table

Ответы [ 2 ]

2 голосов
/ 18 марта 2019

Просто используйте один столбец для определения последней строки (здесь используется Column A)

Кроме того, нижняя часть диапазона сумм указывается последней строкой (LR), но вы хотите, чтобы ваши формулы отображались на 2 строки ниже (отсюда LR + 2)


Dim ws as Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1") '<-- Update
Dim LR as Long

LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

ws.Range("C" & LR + 2).Formula = "=Sum(C2:C" & LR & ")"
ws.Range("D" & LR + 2).Formula = "=Sum(D2:D" & LR & ")"
0 голосов
/ 18 марта 2019

Попробуйте:

Option Explicit

Sub test()

    Dim LastRow As Long, LastColumn As Long, Column As Long

    With ThisWorkbook.Worksheets("Sheet1")

        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For Column = 3 To 10
            .Cells(LastRow + 2, Column) = Application.WorksheetFunction.Sum(.Range(.Cells(2, Column), Cells(LastRow, Column)))
        Next Column

    End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...