Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Anton_ от 23 мая 2018, 14:09

Название: Excel VBA Макросы: Найти среднее арифметическое для групп чисел которые разделены пробелами
Отправлено: Anton_ от 23 мая 2018, 14:09
Есть числа в ряду, разделены на группы пробелами. Для каждой группы нужно найти среднее арифметическое и записать значение в первый пробел для группы чисел которая идет ниже.

У меня есть в примере вторая колонка, мне нужно записать в первую пустую ячейку(зеленая) среднее значение последовательности чисел до следующей пустой ячейки, и так позаполнять все пустые зеленые ячейки.

[вложение удалено администратором]
Название: Re: Excel VBA Макросы: Найти среднее арифметическое для групп чисел которые разделены пробелами
Отправлено: Администратор от 23 мая 2018, 16:33
Макрос
Sub макрос()

    Dim rng As Range, group As Range, i As Long
   
   
    '1. Отключаем монитор, чтобы ускорить макрос.
    Application.ScreenUpdating = False
   
    '2. Поиск заполненных ячеек.
    Set rng = Columns("B").SpecialCells(xlCellTypeConstants)
   
    '3. Цикл по группам. Первая группа - это шапка, поэтому начинаем движение
        ' со второй группы.
    For i = 2 To rng.Areas.Count
        '1) Присваиваем имя группе заполненных ячеек.
        Set group = rng.Areas(i)
        '2) Расчёт среднего и запись его в верхнюю строку.
        group.Offset(-1).Value = WorksheetFunction.Average(group.Value)
    Next i
   
    '4. Включаем монитор и выдаём сообщение.
    Application.ScreenUpdating = True
    MsgBox "Готово.", vbInformation

End Sub
[свернуть]
Название: Re: Excel VBA Макросы: Найти среднее арифметическое для групп чисел которые разделены пробелами
Отправлено: Anton_ от 24 мая 2018, 10:40
Спасибо большое, все работает, даже на любом другом столбике.