Vba excel группировка по строкам

Return to VBA Code Examples

This tutorial will demonstrate how to group and ungroup rows and columns in VBA.

Group Rows or Columns

To group rows or columns apply the Group Method to the rows or columns:

Rows("3:5").Group

or

Columns("C:D").Group

Ungroup Rows or Columns

To ungroup the rows or columns, simply use the Ungroup Method:

Rows("3:5").Ungroup

or

Columns("C:D").Ungroup

Expand All “Grouped” Outline Levels

To expand all grouped outline levels, use this line of code:

ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8

To collapse all outline levels, use this line of code:

ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
vba save as

Learn More!

0 / 0 / 0

Регистрация: 25.04.2006

Сообщений: 5

1

25.04.2006, 19:11. Показов 56914. Ответов 25


Студворк — интернет-сервис помощи студентам

Помогите, пожалуйста, я так устала вручную группировать строки. Как написать макрос, чтобы в таблице EXCEL строки автоматом группировались по одинаковым названиям в первом столбце. Т.е. сбоку слева появлялся «плюсик» и можно было группу свернуть или развернуть.

В первом столбце названия групп повторяются, а во втором столбце уже идут точные названия, т.е. в первом столбце ткань, а во втором м.б. и драп и ситец. Я хочу сделать группу по первому столбцу ткань.



0



3 / 3 / 0

Регистрация: 08.09.2011

Сообщений: 111

25.04.2006, 20:27

2

А нужен ли макрос, если есть встроенный инструмент?
Data -> Subtotals… далее по инструкции….



0



0 / 0 / 0

Регистрация: 25.04.2006

Сообщений: 5

25.04.2006, 20:37

 [ТС]

3

Спасибо буду искать, что это такое Если у ВАс есть возможность можно чуть подробнее…



0



3 / 3 / 0

Регистрация: 08.09.2011

Сообщений: 111

25.04.2006, 20:53

4

По-русски это называется консолидация…
Вот здесь можно почитать:

http://www.firststeps.ru/
— MS Office
— Шаг 65 — Попробуем консолидацию



0



5 / 5 / 3

Регистрация: 17.10.2007

Сообщений: 1,119

25.04.2006, 21:03

5

lullul,

Vi mozhete poprobovat’ sovet Tsveta. Vot vam esche odin: idite v menu [bold]Data/Pivot Table[/bold] …
V techenie 20 sekund sdelal vashu zadachu metodom Drag and Drop…

vladconn



0



0 / 0 / 0

Регистрация: 25.04.2006

Сообщений: 5

25.04.2006, 21:34

 [ТС]

6

Про консолидацию прочитала спасибо, но мне не надо сумировать и т.д. Мне надо просто огромную таблицу привести в более сжатый вид. Одинаковые позиции по первому столбцу сгруппировать так, чтобы сбоку слева появлялся «плюсик» и можно было группу свернуть или развернуть. Чтобы клиент мог сначала выбрать нужную группу в списке и только затем с помощью плюсика её развернуть и искать подробнее что ему надо.

Я это обычно делаю в ручную с помощью меню Данные-группа и структура-группировать. Очень хочу эту процедуру автоматизировать



0



5 / 5 / 3

Регистрация: 17.10.2007

Сообщений: 1,119

25.04.2006, 22:01

7

lullul,

Esche variant:

MSHFLEXGRID i OLEDB data control!

MSHFLEXGRID kak raz dlya vashej zadachi.

vladconn



0



0 / 0 / 0

Регистрация: 25.04.2006

Сообщений: 5

25.04.2006, 22:20

 [ТС]

8

Всем спасибо, буду стараться



0



VladConn

5 / 5 / 3

Регистрация: 17.10.2007

Сообщений: 1,119

25.04.2006, 22:23

9

A, chto-to vrode etogo:

Visual Basic
1
2
3
4
5
6
7
8
Sub Macro1()
 
    Range("A2:C5").Select 'tkan', vid tkani, kol-vo
    Selection.Rows.Group
    Range("A7:C9").Select 'Kamen', nazvanie kamnya, kol-vo
    Selection.Rows.Group
 
End Sub

vladconn



0



Masalov

22 / 5 / 1

Регистрация: 05.09.2010

Сообщений: 370

26.04.2006, 10:41

10

Выделить ту часть листа где необходима массовая группировка и выполнить макрос:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Группировка()
  ' вначале выдели строки для массовой группировки
  x = 1 ' номер колонки
  Dim rng As Range
  Set rng = Selection.EntireRow
  y = rng.Row
  yend = y + rng.Rows.Count - 1
  mes = "Выполнить массовую группировку" & vbCr & _
      "со строки " & y & " по строку " & yend & "?"
  If MsgBox(mes, vbQuestion + vbOKCancel, "") = vbCancel Then End
  ybeg = y
  ActiveSheet.Outline.SummaryRow = xlAbove
  For y = y To yend
    If Cells(y, x) <> Cells(y + 1, x) _
    Or y = yend Then
      If ybeg + 1 <= y Then Rows(ybeg + 1 & ":" & y).Rows.Group
      ybeg = y + 1
    End If
  Next
  MsgBox "Готово", vbInformation, ""
End Sub



0



rank1

30.04.2006, 23:30

11

У меня тут возникла сходная задачка — нужно было в зависимости от уровня группы в колонке группировать строки. Первое что пришло в голову:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Option Explicit
Sub grp() 'Группировка
 On Error GoTo errH
 Dim h: Set h = New Scripting.dictionary
 Dim x As Range
 Set x = Selection.EntireColumn.Cells.SpecialCells(xlCellTypeConstants)
    Dim i As Long, j As Long, c As Range
    For i = 1 To 10
      For Each c In x.Cells
         c.Select
         For j = i To 10
            DoEvents
            If c.Value = j Then
                 If IsEmpty(h(i)) Then
                    Set h(i) = c
                 Else
                    Set h(i) = Union(h(i), c)
                 End If
            End If
         Next j
      Next c
    Next i
 Dim k
 Dim a As Range
 For Each k In h.Keys
  For Each a In h(k).Areas
   DoEvents
   a.Rows.Group
  Next a
 Next k
 If 0 Then
errH:
   MsgBox Err.Description
 End If
 Set h = Nothing
End Sub
Sub ugp() 'Разгруппировка
On Error Resume Next
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
End Sub

rank1

30.04.2006, 23:31

12

Для работы необходимо подключить scrrun.dll — для Dictionary

rank1

30.04.2006, 23:33

13

…и курсор должен стоять в той колонке где уровни вложенности указаны.

Сумрак

01.05.2006, 22:11

14

Сначала отсортировать придется для группировки…

22 / 5 / 1

Регистрация: 05.09.2010

Сообщений: 370

02.05.2006, 11:11

15

Здесь еще пример группировки, но по номерам параграфа…

http://relib.com/forums/Topic846792-11-1.aspx



0



0 / 0 / 0

Регистрация: 21.02.2014

Сообщений: 14

21.02.2014, 15:24

16

Доброго дня! Мне нужен макрос чтобы из разноцветных строк группировал только бесцветные. Кто-нибудь может мне помочь в этом.



0



15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

21.02.2014, 15:31

17

Артем 1981, приложите пример.



1



0 / 0 / 0

Регистрация: 21.02.2014

Сообщений: 14

03.04.2014, 12:50

18

Приложил пример (2 вкладки). Макрос должен делать из таблицы во вкладке «до», таблицу такую как во вкладке «после», то есть группировать только строки без выделения цветом.



0



15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

03.04.2014, 13:41

19

Артем 1981, почему группировка «вниз»? Строки 8,9 вроде относятся к 7?



0



0 / 0 / 0

Регистрация: 21.02.2014

Сообщений: 14

03.04.2014, 14:48

20

Да совершенно верно п.8,9 относятся к п.7, это у меня просто настройка такая.



0



Despite the age of this post, I thought I’d throw in my two cents for anyone who might stumble upon it. I hope I understand your question correctly. Here’s what I’ve gathered:

Goal: For every row in the column of interest, group rows based on a criteria.

Criteria: The only rows in the group are those that either have no value (blank, null, empty) OR have a value AND have a neighboring cell (directly to the left) that has a value of 0. The only rows not in the group are those that are not blank and have a neighboring cell that is not 0.

Here is some sample data:

Note: the Range B1:B12 makeup the named range rngList, like the OP says they have.

Data Before Running Macro:

enter image description here

Data After Running Macro — Grouping Uncollapsed:

enter image description here

Data After Running Macro — Grouping Collapsed:

enter image description here

The code that handles this:

To make this code work: In the VBE (Visual Basic Editor), open the worksheet that contains the data to group (also contains the named range rngList) and paste this code, then run the macro.

Note: The comments are added to explain certain parts in further detail, though I believe the code itself is written in a way that can explain itself (e.g. variable names are meaningful and logic makes sense).

Public Sub GroupCells()
    Dim myRange As Range
    Dim rowCount As Integer, currentRow As Integer
    Dim firstBlankRow As Integer, lastBlankRow As Integer
    Dim currentRowValue As String
    Dim neighborColumnValue As String

    'select range based on given named range
    Set myRange = Range("rngList")
    rowCount = Cells(Rows.Count, myRange.Column).End(xlUp).Row

    firstBlankRow = 0
    lastBlankRow = 0
    'for every row in the range
    For currentRow = 1 To rowCount
        currentRowValue = Cells(currentRow, myRange.Column).Value
        neighborColumnValue = Cells(currentRow, myRange.Column - 1).Value

        If (IsEmpty(currentRowValue) Or currentRowValue = "") Then
            'if cell is blank and firstBlankRow hasn't been assigned yet
            If firstBlankRow = 0 Then
                firstBlankRow = currentRow
            End If
        ElseIf Not (IsEmpty(currentRowValue) Or currentRowValue = "") Then
            'if the cell is not blank and its neighbor's (to the left) value is 0,
            'and firstBlankRow hasn't been assigned, then this is the firstBlankRow
            'to consider for grouping
            If neighborColumnValue = 0 And firstBlankRow = 0 Then
                firstBlankRow = currentRow
            ElseIf neighborColumnValue <> 0 And firstBlankRow <> 0 Then
                'if firstBlankRow is assigned and this row has a value with a neighbor
                'who isn't 0, then the cell one row above this one is to be considered
                'the lastBlankRow to include in the grouping
                lastBlankRow = currentRow - 1
            End If
        End If

        'if first AND last blank rows have been assigned, then create a group
        'then reset the first/lastBlankRow values to 0 and begin searching for next
        'grouping
        If firstBlankRow <> 0 And lastBlankRow <> 0 Then
            Range(Cells(firstBlankRow, myRange.Column), Cells(lastBlankRow, myRange.Column)).EntireRow.Select
            Selection.Group
            firstBlankRow = 0
            lastBlankRow = 0
        End If
    Next
End Sub

Содержание

  1. Группировка строк в excel с помощью удобного vba кода
  2. Автоматизация с помощью кодов
  3. VBA Group Rows & Columns
  4. Group Rows or Columns
  5. Ungroup Rows or Columns
  6. Expand All “Grouped” Outline Levels
  7. VBA Coding Made Easy
  8. VBA Code Examples Add-in
  9. VBA Code Generator
  10. AutoMacro: VBA Add-in with Hundreds of Ready-To-Use VBA Code Examples & much more!
  11. What is AutoMacro?
  12. Vba excel группировка по строкам
  13. Практическое руководство. Программное группирование строк на листе
  14. Использование элемента управления NamedRange
  15. Создание группы элементов управления NamedRange на листе
  16. Использование собственных диапазонов Excel
  17. Создание группы диапазонов Excel на листе
  18. Группировка строк с одинаковым значением в VBA

Группировка строк в excel с помощью удобного vba кода

Доброго времени суток дорогие посетители.

Тема сегодня будет не совсем самобытная и не большая. Я тут как то публиковал пост о том как группировать строки в Microsoft Excel вот здесь: http://profi-user.ru/gruppirivka-v-excel. Но там я забыл об одном очень важном моменте, не упомянул, о том что группировку можно выполнять автоматически. Я думаю нужно исправить этот пробел, в данной теме. Приступим.

Автоматизация с помощью кодов

Пора учиться использовать Excel по назначению в полной мере. Табличный редактор дает возможность автоматизировать повторяющиеся задачи, чтобы вы не делали одно и то же каждый раз.

Для этого используется программный язык Visual Basic. В нашем случае он позволит группировать и сразу сворачивать строки.

Это функция в Excel называется VBA группировка строк. Выполняется с помощью такого кода:

Чтобы его записать, необходимо во вкладке «Вид» нажать на кнопку «Макрос» и выбрать «Записать макроса».

Сделать это также можно через вкладку «Разработчик». Но, как правило, она не предусмотрена в меню по умолчанию, поэтому при желании добавьте ее вручную:

  • Откройте Файл — Параметры — Настройка ленты;
  • В группе «Основные вкладки» поставьте галочку возле той, что нам нужна, и нажмите «Ок».

В принципе всё, теперь нужно просто нажать на макрос два раза и мы видим как в нашем документе появились нужные нам группы, которые можно сворачивать и разворачивать:

Естественно выберите такие какие вам нужно.

До встречи дорогие друзья, сохраняйте ссылку на этот сайт в закладки.

Источник

VBA Group Rows & Columns

In this Article

This tutorial will demonstrate how to group and ungroup rows and columns in VBA.

Group Rows or Columns

To group rows or columns apply the Group Method to the rows or columns:

Ungroup Rows or Columns

To ungroup the rows or columns, simply use the Ungroup Method:

Expand All “Grouped” Outline Levels

To expand all grouped outline levels, use this line of code:

To collapse all outline levels, use this line of code:

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

VBA Code Generator

AutoMacro: VBA Add-in with Hundreds of Ready-To-Use VBA Code Examples & much more!

What is AutoMacro?

AutoMacro is an add-in for VBA that installs directly into the Visual Basic Editor. It comes loaded with code generators, an extensive code library, the ability to create your own code library, and many other time-saving tools and utilities that add much needed functionality to the outdated VBA Editor.

Источник

Vba excel группировка по строкам

Прошу помочь с написанием макроса, который бы работал следующим образом:

0. На листе создается кнопка «Группировка», которая активирует макрос, при нажатии на нее; кнопка «Сгруппировать», которая группирует все существующие связи; «Разгруппировать», которая разгруппирует их, соответственно.

При нажатии на кнопку «Группировка», происходят следующие процессы:
1. Сбрасываются (удаляются) все действующие группировки на листе;
2. Определяется диапазон работы макроса — со строки № 6 листа (включительно), до строки, в столбце В которой значение «Общий итог» (номер строки не определен!!);
3. Группируются строки, в столбце А которых стоит значение «-«, разумеется каждый набор последовательно идущих строк, удовлетворяющих условие, группируется отдельно, «не задевая» те строки, которые условие не удовлетворяют.

ПС. Если есть вариант решения задачи не макросом, а иным способом — то будет вообще супер!

Пример прилагаю. Благодарю за уделенное время!

Прошу помочь с написанием макроса, который бы работал следующим образом:

0. На листе создается кнопка «Группировка», которая активирует макрос, при нажатии на нее; кнопка «Сгруппировать», которая группирует все существующие связи; «Разгруппировать», которая разгруппирует их, соответственно.

При нажатии на кнопку «Группировка», происходят следующие процессы:
1. Сбрасываются (удаляются) все действующие группировки на листе;
2. Определяется диапазон работы макроса — со строки № 6 листа (включительно), до строки, в столбце В которой значение «Общий итог» (номер строки не определен!!);
3. Группируются строки, в столбце А которых стоит значение «-«, разумеется каждый набор последовательно идущих строк, удовлетворяющих условие, группируется отдельно, «не задевая» те строки, которые условие не удовлетворяют.

ПС. Если есть вариант решения задачи не макросом, а иным способом — то будет вообще супер!

Пример прилагаю. Благодарю за уделенное время! Sl1mka

Сообщение Добрый день!

Прошу помочь с написанием макроса, который бы работал следующим образом:

0. На листе создается кнопка «Группировка», которая активирует макрос, при нажатии на нее; кнопка «Сгруппировать», которая группирует все существующие связи; «Разгруппировать», которая разгруппирует их, соответственно.

При нажатии на кнопку «Группировка», происходят следующие процессы:
1. Сбрасываются (удаляются) все действующие группировки на листе;
2. Определяется диапазон работы макроса — со строки № 6 листа (включительно), до строки, в столбце В которой значение «Общий итог» (номер строки не определен!!);
3. Группируются строки, в столбце А которых стоит значение «-«, разумеется каждый набор последовательно идущих строк, удовлетворяющих условие, группируется отдельно, «не задевая» те строки, которые условие не удовлетворяют.

ПС. Если есть вариант решения задачи не макросом, а иным способом — то будет вообще супер!

Пример прилагаю. Благодарю за уделенное время! Автор — Sl1mka
Дата добавления — 10.07.2015 в 13:17

Источник

Практическое руководство. Программное группирование строк на листе

Применимо к: Visual Studio Visual Studio для Mac Visual Studio Code

Можно сгруппировать одну или несколько целых строк. Чтобы создать группу на листе, используйте NamedRange элемент управления или собственный объект диапазона Excel.

Применимо к: Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO для Excel. Дополнительные сведения см. в разделе «Функции», доступные в приложении Office и типе проекта.

Использование элемента управления NamedRange

При добавлении NamedRange элемента управления в проект уровня документа во время разработки можно использовать этот элемент управления для программного создания группы. В следующем примере предполагается, что на одном листе есть три NamedRange элемента управления: data2001 , data2002 и dataAll . Каждый именованный диапазон ссылается на целую строку на листе.

Создание группы элементов управления NamedRange на листе

Группирование трех именованных диапазонов путем вызова Group метода каждого диапазона. Этот код следует разместить в классе листа, а не в классе ThisWorkbook .

Чтобы разгруппировать строки, вызовите Ungroup метод.

Использование собственных диапазонов Excel

В коде предполагается, что у вас есть три диапазона Excel с именем data2001 , data2002 а dataAll также на листе.

Создание группы диапазонов Excel на листе

Группирование трех именованных диапазонов путем вызова Group метода каждого диапазона. В следующем примере предполагается, что на одном листе есть три Range элемента управления с именем data2001 , data2002 а dataAll также на одном листе. Каждый именованный диапазон ссылается на целую строку на листе.

Чтобы разгруппировать строки, вызовите Ungroup метод.

Источник

Группировка строк с одинаковым значением в VBA

У меня есть таблица в Excel, и я хочу создать макрос в VBA для группировать строки с одинаковым значением в столбце F и выделить группу заголовков жирным шрифтом.

Другими словами, все строки с одинаковым значением в столбце F должны быть сгруппированы в одну строку с полужирным шрифтом. Это возможно?

Вот что у меня: Фактические данные

Вот чего я хочу:

Большое спасибо, я буду очень признателен

@Javi — Даже если этот сайт был «бесплатной службой кодирования», группировка строк с одинаковым значением не требует VBA и выполняется несколькими щелчками мыши путем создания Сводная таблица.

См. Раздел Поддержка MS Office: Создайте сводную таблицу для анализа данных рабочего листа, а также Сгруппировать или разгруппировать данные в сводной таблице.

@Ashleedawg Я хочу сгруппировать со значком плюса, поэтому сводная таблица мне не подходит. Большое спасибо 🙂

@Javi ты имеешь в виду такая группа?

@ProfoundlyOblivious да, это правильно !! 🙂

Хорошо, я разобрался с вашим кодом. Вам не хватает жирного и яркого. Это все, что вам нужно, или есть что-то, что не работает должным образом?

Думаю, это все, что мне нужно. Не знаю, лучшее ли решение, как я это сделал.

Взгляните на этот выход — это то, что вы ищете? Я думаю, может быть, вы хотели отформатировать только одну строку . это то, что я хотел, но мне было весело и я увлекся.

@ProfoundlyOblivious вывод пустой 🙁

Понятия не имею, что вы имеете в виду. Я начинаю с электронной таблицы, в которой нет групп или выделения. В столбце F есть повторяющиеся значения. Я запускаю код, и лист группируется по столбцу F, все строки в этой группе форматируются, и группа сворачивается. Выходные данные показывают, что группа развернута и свернута. Кроме того, группировка выполняется вашим кодом без изменений функциональности группировки. Я только форматирование добавил.

Ссылаюсь на вашу ссылку пуста imgur.com/a/tFBAB2f 🙂 а теперь появляется! 🙂

Мне кажется более визуально привлекательным выделить только самую верхнюю строку, но вы запросили все строки, поэтому здесь будет объяснено, как сделать это в обоих направлениях. Я на 100% уверен, что это крайне неэффективно, но при этом вносит минимальные изменения в существующий код и обеспечивает желаемый результат.

Для обеих версий вам понадобится еще одна переменная диапазона. Технически в этом нет необходимости, но мне не хотелось делать мысленную гимнастику с i и j.

И почти в самом низу вставить условную проверку и форматирование.

Чтобы отформатировать только самую верхнюю строку в группе, добавьте else и форматируйте — НЕ ИСПОЛЬЗУЙТЕ ЭТОТ СЕГМЕНТ, ЕСЛИ ВЫ ХОТИТЕ ВЫДЕЛИТЬ ВСЕ СТРОКИ

Чтобы отформатировать каждую строку в группе, объявите еще одну итеративную переменную и используйте вместо нее этот сегмент.

Один из этих двух вариантов должен доставить вас туда, куда вы хотите.

Подсвечивает только самый верхний ряд, это нормально для меня! 🙂 Большое спасибо @ProfoundlyOblivious

Источник

Regarding rows not in pivot tables … It has NOT been my experience in Excel 2010 that ShowDetail ALWAYS evaluates to True. I thought it did but I didn’t realize that I needed to be on the summary row for this property to work as expected. Second of all, I didn’t realize the summary row by default is UNDER the grouped rows. Testing for collapsed/expanded became much clearer once I changed that setting to have the summary row above the grouped rows (in the Ribbon: Data > Outline, Show the Outline Dlg Box).

If my selected cell is on the summary row, the ShowDetail evalutes to True if the grouped records are showing, and to False if they are not. The key for me was being on the summary row to see that behavior work this way. Having the child/grouped rows above by default really threw me.

Here’s my macro, which dynamically expands and collapses the grouped records tied to the summary row when I select a cell on a summary row. And, it makes my cell in column A bold if the section is expanded. This macro does not run if I’ve selected more than one cell.

Note that worksheet protection prevents expanding and collapsing groups of cells. My worksheet is protected, so I unprotect the sheets to expand/collapse then reprotect them after. (A possible improvement would be for me to just unprotect/protect just the current sheet instead of all of them.)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'TOGGLE SHOW/HIDE ROW
If Target.Cells.Count = 1 Then
    If (Target.EntireRow.OutlineLevel = 1) And (Target.Offset(1, 0).EntireRow.OutlineLevel = 2) And _
       (Target.Column < 15) Then
            Call Macros.ProtShts(False)
                Target.EntireRow.ShowDetail = Not Target.EntireRow.ShowDetail
                If Target.EntireRow.ShowDetail = True Then
                    Range(Cells(Target.Row, 1), Cells(Target.Row, 14)).Font.Bold = True
                Else
                    Range(Cells(Target.Row, 1), Cells(Target.Row, 14)).Font.Bold = False
                End If
            Call Macros.ProtShts(True)
    End If
End If
End Sub

Remember, I set my summary row to be above the grouped records. If your summary row is below the grouped records (the default) then the offset row reference must be changed to -1, like this:

(Target.Offset(1, 0).EntireRow.OutlineLevel = 2)

Понравилась статья? Поделить с друзьями:
  • Vba excel группа элементов
  • Vba excel график на форме
  • Vba excel границы строк
  • Vba excel границы печати
  • Vba excel границы диапазона ячеек