Группирование строк в EXCEL (макрос) / VBA

Узнай цену своей работы

Формулировка задачи:

Ребят, добрый день!! Помогите, пожалуйста,написать макрос, чтобы в таблице EXCEL строки автоматом группировались по одинаковым названиям в каждом столбце (их 4). Т.е. сбоку слева появлялся "плюсик" и можно было группу свернуть или развернуть. В первом столбце названия групп повторяются и группа заканчивается со словом ГРУППА_ИТОГ. Мне нужно сделать по каждому столбцу группировку. Файл с примером во вложении Перерыла весь инет, не нашла

Решение задачи: «Группирование строк в EXCEL (макрос) / VBA»

textual
Листинг программы
Sub PodItogi2()
  ' Многоуровневые итоги
  Dim iLastRow As Long, WkSh As Worksheet
  Set WkSh = Worksheets("Город")
  With WkSh
   .AutoFilterMode = False
   .Cells.RemoveSubtotal
   iLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
   With .Sort
        .SortFields.Clear
        .SortFields.Add Key:=Parent.Range("A6:A" & iLastRow), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Parent.Range("B6:B" & iLastRow), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Parent.Range("C6:C" & iLastRow), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Parent.Range("D6:D" & iLastRow), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange WkSh.Range("A5:H" & iLastRow)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    .Range("A5:H" & iLastRow).RemoveSubtotal
    .Range("A5:H" & iLastRow).Subtotal GroupBy:=Array(1, 2, 3, 4), Function:=xlSum, TotalList:=Array(7, 8), _
    Replace:=False, PageBreaks:=False, SummaryBelowData:=False
    .Range("A5:H6").AutoFilter
  End With
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5