Добрый день! Подскажите как можно быстро группировать данные? Во вложении пример таблицы, с которой работаю. Так вот... нужно сделать группировки по цехам, так чтобы каждый цех разворачивался на номенклатуру. Сейчас делаю это вручную (выделяю номенклатуру и нажимаю кнопочку группировать), но так очень долго.... Может есть другой метод или может макрос у кого-нибудь есть?
Добрый день! Подскажите как можно быстро группировать данные? Во вложении пример таблицы, с которой работаю. Так вот... нужно сделать группировки по цехам, так чтобы каждый цех разворачивался на номенклатуру. Сейчас делаю это вручную (выделяю номенклатуру и нажимаю кнопочку группировать), но так очень долго.... Может есть другой метод или может макрос у кого-нибудь есть?Econom
Sub gh() Dim cell As Range, i As Long For Each cell In Range("a2:a202") i = cell.IndentLevel If i > 1 Then Rows(cell.Row).OutlineLevel = i Next End Sub
[/vba]
Вот так : [vba]
Код
Sub gh() Dim cell As Range, i As Long For Each cell In Range("a2:a202") i = cell.IndentLevel If i > 1 Then Rows(cell.Row).OutlineLevel = i Next End Sub
SLAVICK, в Вашем макросе не достаёт нескольких строк перед циклом. Осмелюсь их дополнить к Вашему коду:[vba]
Код
Sub gh() Dim cell As Range, i As Long, rng As Range With ActiveSheet Set rng = .Range("a2:a202") rng.ClearOutline With .Outline .AutomaticStyles = False .SummaryRow = xlAbove .SummaryColumn = xlRight End With For Each cell In rng i = cell.IndentLevel If i > 1 Then Rows(cell.Row).OutlineLevel = i Next End With End Sub
[/vba]
SLAVICK, в Вашем макросе не достаёт нескольких строк перед циклом. Осмелюсь их дополнить к Вашему коду:[vba]
Код
Sub gh() Dim cell As Range, i As Long, rng As Range With ActiveSheet Set rng = .Range("a2:a202") rng.ClearOutline With .Outline .AutomaticStyles = False .SummaryRow = xlAbove .SummaryColumn = xlRight End With For Each cell In rng i = cell.IndentLevel If i > 1 Then Rows(cell.Row).OutlineLevel = i Next End With End Sub
SLAVICK, спасибо. То, что ТС об этом не упомянул, сомнений не вызывает. Вначале добавил группировку сверху, а не снизу. В процессе тестирования было лень самому убирать группировку чтобы проверить работу макроса, вот, и добавил удаление оной. А так Вам - пополнил свою копилку ещё одной полезной штукой, которой не пользуюсь, но знакомым пригодится.
SLAVICK, спасибо. То, что ТС об этом не упомянул, сомнений не вызывает. Вначале добавил группировку сверху, а не снизу. В процессе тестирования было лень самому убирать группировку чтобы проверить работу макроса, вот, и добавил удаление оной. А так Вам - пополнил свою копилку ещё одной полезной штукой, которой не пользуюсь, но знакомым пригодится. JayBhagavan
Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов