Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель от 05 марта 2023, 10:02

Название: Подсчёт среднего
Отправлено: Посетитель от 05 марта 2023, 10:02
Всем привет.Помогите пожалуйста создать процедуру, которая будет добавлять под таблицей на каждом листе в первой пустой строке надпись "Средняя сделка" в столбце слева от "Коммерческого предложения" и функцию СРЗНАЧ по всем ячейкам с суммами коммерческого предложения. Вот что у меня получилось:
Sub Среднее()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
  With sh.Range("H2")
  .End(xlDown).Offset(1, 0) = "Средняя сделка"
  .End(xlDown).Offset(1, 1).FormulaLocal = "=СРЗНАЧ(I2:I10)"
  End With
Next sh
End Sub
Только у меня задан конкретный диапазон в столбце "I", а на разных листах он состоит из разного количества ячеек.
Название: От: Подсчёт среднего
Отправлено: Администратор от 05 марта 2023, 15:54
Макрос
Sub Среднее()
Dim sh As Worksheet, lr As Long
For Each sh In ThisWorkbook.Worksheets
    lr = sh.Range("H2").End(xlDown).Row
    sh.Cells(lr + 1, "H").Value = "Средняя сделка"
    sh.Cells(lr + 1, "I").FormulaLocal = "=СРЗНАЧ(I2:I" & lr & ")"
Next sh
End Sub
[свернуть]
Название: От: Подсчёт среднего
Отправлено: Посетитель от 05 марта 2023, 18:46
Спасибо