Цитата |
---|
А мне нужно видеть только 7-ю группу и никакие другие. |
Чтобы отфильтровать данные по уровню группировки, в автофильтр нужно добавить новый столбец, в каждой строке которого прописать пользовательскую функцию, определяющую номер уровня группировки.
Пользовательская функция VBA, которая определяет уровень группировки строки, выглядит примерно так:
Код |
---|
Public Function RowOutlineLevel() As Byte
Application.Volatile
Dim rCallerCell As Range: Set rCallerCell = Application.Caller
RowOutlineLevel = rCallerCell.Rows.OutlineLevel
If RowOutlineLevel = 1 Then
Dim wsh As Worksheet
Set wsh = rCallerCell.Worksheet
Dim bSummaryRowIsAbove As Boolean
bSummaryRowIsAbove = wsh.Outline.SummaryRow = xlSummaryAbove
Dim lCallerCellRow As Long: lCallerCellRow = rCallerCell.Row
If bSummaryRowIsAbove And lCallerCellRow = wsh.Rows.Count _
Or Not bSummaryRowIsAbove And lCallerCellRow = 1 Then
RowOutlineLevel = 0
Exit Function
End If
Dim bNextCellRowOutlineLevel As Byte
bNextCellRowOutlineLevel = rCallerCell.Rows(-2 * bSummaryRowIsAbove).OutlineLevel
RowOutlineLevel = 1 + (bNextCellRowOutlineLevel = 1)
End If
End Function |
Скрытый текст |
---|
Код вышеприведенной функции нужно добавить в стандартный модуль проекта данной книги. Для этого:
- Открываем редактор VBA с помощью сочетаний клавиш Alt+F11
- Открываем окно Project Explorer (если оно вдруг было закрыто) с помощью сочетаний клавиш Ctrl+R
- В окне Project Explorer левой клавишей мыши выделяем строку VBAProject (<Название нашей книги>)
- Добавляем новый стандартный модуль в проект нашей книги с помощью главного меню VBE: Insert -> Module
- Вставляем в большое окно справа вверху код пользовательской функции
|
Далее во все строки добавленного столбца (в которых есть группировка), нужно ввести приведенную ниже формулу:
После этого нужно развернуть все уровни группировки (структуры), так как фильтрация работает только с видимыми строками.
Последний шаг - к добавленному столбцу применить фильтр, выбрав 7 из списка автофильтра.
В результате вышеописанных действий вы будете видеть только 7-й уровень группировки. Или любой другой по вашему выбору, если на последнем шаге в автофильтре добавленного столбца выбрать другое значение.