Страницы: 1
RSS
Многоуровневая структура
 
Столкнулся с проблемой структуризации файла, кто может подсказать как из исходного файла можно получить вот такое дерево.
Скидываю кусок файла, в полном 28.000 строк :(
Изменено: wooble - 25.05.2016 03:35:01
 
Здесь небольшое описание
Весь блок "Структура" на вкладке "Данные" отвечает за группировку таким образом.

а здесь пример макроса
Изменено: Zoynels - 25.05.2016 04:44:32
 
Спасибо огромное, но жаль, что я никак не силен в макросах :(
Как сам блок работает я понял, получилось даже сделать дерево, но один факт - итоге все внизу получились, потому что при снятии галочки "итоги в строках по данными" все дико смещается при вставке промежуточных итого, где только одно значение, может подскажите что-как?
Скрытый текст
Изменено: wooble - 25.05.2016 08:24:04
 
Для примера, который xls
Код
Sub uuu()
    Dim a()
    Dim i&, j&, rw&, gr&
    Dim cat$
'--------------------------
    Application.ScreenUpdating = False
    a = Sheets("Лист1").UsedRange.Value
    With Sheets("Лист2")
        .UsedRange.ClearOutline
        .Outline.SummaryRow = xlAbove
        rw = 2
        For i = 2 To UBound(a)
            cat = a(i, 1)
            .Cells(rw, 1) = cat
            gr = rw + 1
            Do
                DoEvents
                If a(i, 1) <> cat Then Exit Do
                rw = rw + 1
                For j = 2 To UBound(a, 2)
                    .Cells(rw, j) = a(i, j)
                Next
                i = i + 1
                If i > UBound(a) Then Exit Do
            Loop            
            .Rows(gr & ":" & rw).Group
            rw = rw + 1
            i = i - 1
        Next
        .Outline.ShowLevels RowLevels:=1
        .Activate
    End With
    Application.ScreenUpdating = True
    Beep
    MsgBox "Готово!"
End Sub
Изменено: kalbasiatka - 25.05.2016 09:06:27
 
kalbasiatka, не объясните какие переменные, если что менять? :)
да и мне промежуточные итоги нужны, и группировка на три уровня...
Изменено: wooble - 25.05.2016 09:33:52
 
В приложении моё решение.

Требуется колонка, в которой следует прописать номера уровней.
Если кратко, то вот как было:

и вот как стало

Цвета, возможно ядовитые, но мне эта палитра была удобна.
При желании, можно руками цвета скинуть на белый.
 
wooble,  а на этом форуме про кросс объявить?
 
Виноват, забыл
Кроссы - http://www.cyberforum.ru/vba/thread1744782.html#post9185941
http://www.excelworld.ru/forum/2-23841-1#187516
 
А на cyberforumе вам счас по шапке администрация настучит за эти ссылки :evil:
 
Ну давайте не будем обсуждать администрацию чужого форума. Подправил #9 и удалил лишнее.
 
Цитата
wooble написал:
мне промежуточные итоги нужны, и группировка на три уровня...
Бывает.
Лист1 и Лист2 это было в моём файле. В вашем будет Лист5 и какой нибудь лист. Макрос не двигает строки он делает группировки в 1 уровень на другом листе. Где взять данных на 3 уровня из файла не понятно, да мне и не надо.
 
Цитата
SanShiney написал: В приложении моё решение.
SanShiney, спасибо за Надстройку... только как её подключить?
расположила файл в  C:\Users\adm\AppData\Roaming\Microsoft\AddIns (где лежат и др надстройки)
в xl включила через Файл-->Параметры-->Надстройки-->Надстройки Excel--> теперь она числится, как активная, но на вкладке Надстройки почему-то её не видно?
p.s. xl2010sp1 x32, windows7 x32
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Группировка данных по отступу. Группирует согласно данных в столбце А.
Скрытый текст
 
Цитата
но на вкладке Надстройки почему-то её не видно?
p.s. xl2010sp1 x32, windows7 x32
Выведите на панель куда хотите ее
Изменено: wooble - 26.05.2016 19:30:36
 
wooble, ну и зачем Вы процитировали всё полностью? На чём хотели сделать акцент?
Кнопка цитирования не для ответа. Исправьте свою горе-цитату.
Страницы: 1
Наверх