Страница 1 из 1
Как в Excel определить уровень группировки
Добавлено: 26 окт 2007, 11:58
behemoth
Добрый день.
Лист Excel.
С помощью команды "Данные"-"Группа и структура"-"Группировать", строки сгруппированы в несколько вложенных уровней. То есть, ячейка в каждом столбце может принадлежать разным уровням группировки. Подскажите, пожалуйста, какая структура (какое свойство) отвечает за принадлежность к уровню группировки. Требуется производить различные действия над данными в ячейке, в зависимости от уровня.
Re: Как в Excel определить уровень группировки
Добавлено: 22 ноя 2007, 19:19
tolikt
Типа такое
ActiveSheet.Rows(ActiveCell.Row).OutlineLevel
Бегемот, если сам давно это нашёл, то на форумах принято и своё решение сообщать.
Re: Как в Excel определить уровень группировки
Добавлено: 05 июл 2009, 23:55
ljuter
А как узнать максимальный уровень группировки без перебора строк?
Re: Как в Excel определить уровень группировки
Добавлено: 06 июл 2009, 14:25
mc-black
Смотрите справку по Outline Object. А вообще, что, строк слишком много? Можно проверить строки и столбцы на всем листе довольно-таки быстро.
Re: Как в Excel определить уровень группировки
Добавлено: 06 июл 2009, 15:06
ljuter
Строк более 3 тыс. Проход по строкам занимает 1-2 минуты. Справку смотрел, но такой функции не нашел, поэтому и обратился за помощью на форум.
Re: Как в Excel определить уровень группировки
Добавлено: 06 июл 2009, 16:28
Aent
Получить максимальный уровень группировки можно сняв её:
Код: Выделить всё
Dim i As Integer
i = 1
Application.ScreenUpdating = False
On Error resume next
Do
Rows.Ungroup
if err.number <> 0 then exit do
i = i + 1
Loop
Application.ScreenUpdating = True
MsgBox "MaxOtlinelevel: " & str(i)
Файл можно предварительно сохранить
Как вариант:
Определите имя MyLEVEL как =ПОЛУЧИТЬ.ЯЧЕЙКУ(28;A1)
(Это функция EXCEL4. Непосредственно использовать её на листе нельзя.)
Затем, поместите используя протяжку значений в ячейки некоего столбца формулу
=MyLEVEL
После этого максимальный уровень группирования получается с помощью функции листа
МАКС, применённой к этому столбцу