Используя макрос, я вставляю новую строку в конец списка расходов. После того, как строка вставлена, мне нужна ячейка «Всего расходов», которая содержит формулу суммы, чтобы обновить ячейки, которые суммируются вместе, чтобы включить новую строку, которая была только что вставлена. Если строка вставлена в середину списка, нет проблем, но если она вставлена как последний расход в списке, формулу суммы необходимо будет обновить, и я хотел бы сделать это в самом макросе.
Я пробовал варианты на:
totalExpense.Formula = "=Sum(D" & ExpensesStart & ":D" & NewExpensesEnd & ")"
as well as:
totalExpense.Value = Application.Sum(Range(Cells(4, ExpensesStart)), Range(Cells(4, NewExpensesEnd)))
...
Worksheets("Income Statement").Activate
'[Code to locate the row index of the last "expense" row]
'Insert Row Above "Total Expenses"
Rows(count).Insert Shift:=xlDown, _
CopyOrigin:=xlFormatFromLeftOrAbove
'Add Name of the Expense
Range("B" & count).Value = nameValue
ExpStart = 2
flag = True
'Locate row index for start of Expenses
Do While flag
'I know it seems weird to immediately add 1, but this is fine
ExpStart = ExpStart + 1
If (Range("A" & ExpStart).Value = "Expenses") Then flag = False
Loop
'Adjust by 1 row to identify 1st actual expense category
ExpStart = ExpStart + 1
totalExpense.Formula = "=Sum(D" & ExpStart & ":D" & NewExpensesEnd & ")"
Либо я получаю формулу для ячейки, равную "= Sum (0,0)" , либо просто получаю ячейку со значением 0. Как только я смог ее получить чтобы правильно суммировать правильный диапазон, но вместо того, чтобы оставить формулу "= Sum (D7: D10)" , он суммировал диапазон и оставил значение. Учитывая, что другие значения изменятся после запуска макроса, мне нужна формула суммы в этой ячейке, а не сумма во время выполнения макроса.