Добрый день. Не могу решить задачку. На каждом листе необходимо прописать формулы(вариант с выделением всех листов не подходит). Каждый раз кол-во листов будет разным от 5 до 200 Подскажите в чём может быть проблема Прикрепляю файл с макросом который пытаюсь заставить работать.
P.S. Я смотрел темы с похожими задачами, подстраивал под свой макрос, но у меня всё равно считает только на одном листе. Раз за разом.
Формула работает для файла "Книга1", но не работает если что то посложнее. Как во втором файле "Отчёт ОЛ"
Sub WorksheetLoop2()
Dim Current As Worksheet
For Each Current In Worksheets
With Current
.Range("A20:B20").FormulaR1C1 = "=AVERAGE(R[-18]C:R[-2]C)"
.Range("A21:B21").FormulaR1C1 = "=SUM(R[-19]C:R[-3]C)"
End With
Next
End Sub
П.С. Вставлять формулы макросом не наш метод . Считайте все в коде макроса, а на лист вставляйте готовый результат
Согласие есть продукт при полном непротивлении сторон
Дело не в 'кривовато', все мы когда-то учились. Я про принцип, подход к решению задачи. А если Вам потребуется вставлять формулу не в 20ю строку будете код переписывать? А если формула будет 'многоэтажная'? И, кстати, не все формулы (даже записанные макрорекордером) напрямую можно вставлять кодом на лист. Ну это так, в качестве подсказки
Согласие есть продукт при полном непротивлении сторон
Sub Макрос1()
Worksheets.Select
Range("A20:B20").Select
Selection.FormulaR1C1 = "=AVERAGE(R[-18]C:R[-2]C)"
Range("A21:B21").Select
Selection.FormulaR1C1 = "=SUM(R[-19]C:R[-3]C)"
Worksheets(1).Select
End Sub