У меня есть макрос, который создает книгу с несколькими листами, названными датами, например. 12-01-2015, 12-02-2015. Данные вводятся вручную в эти рабочие листы. Последнее имя рабочего листа - «TOTAL». Каждый месяц количество рабочих листов и их имена будут разными. Я пытаюсь написать фрагмент кода, который суммирует данные со всех листов на ячейки, расположенные на листе, который называется «Всего». Моя идея состояла в том, чтобы сделать это с помощью цикла, но он не работает, несмотря на то, что во время выполнения макроса не отображаются сообщения об ошибках. Формула, которая должна присутствовать в «B2» листа «Всего» после выполнения макрокоманд, отсутствует, поэтому мое предположение заключается в том, что суммирование работает только во время выполнения макроса. Я не уверен, как ввести формулу «sum» в ячейку «B2» в «Total» листе. Я бы очень признателен за любой совет, который указал бы мне в правильном направлении. Ниже приведен фрагмент кода, который не работает:Сумма за динамическое число листов
Sub Test()
Dim i as Long
For i = 1 To Worksheets.Count - 1
Worksheets("TOTAL").Range("B2").Formula = Application.WorksheetFunction.Sum(Worksheets(i).Range("B2"))
Next i
Worksheets(i).Range("B2").Value = Worksheets("TOTAL").Range("B2").Value
End Sub
Вы хотите формулу в ячейке или просто общее значение? –
Если вы хотите, чтобы общее значение изменилось, это «Worksheets» («TOTAL»). Диапазон («B2»). Формула = Application.WorksheetFunction.Sum (Рабочие листы (i) .Range («B2»)) 'к этому:' Диапазоны значений («В2»). Диапазон значений («В2»). Значения + Рабочие листы (i) .Range («B2»). Значение « –
Формула только, Пожалуйста. – Trix