Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как быстро сгруппировать данные - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как быстро сгруппировать данные (Формулы/Formulas)
Как быстро сгруппировать данные
Econom Дата: Понедельник, 26.01.2015, 06:06 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день! Подскажите как можно быстро группировать данные? Во вложении пример таблицы, с которой работаю. Так вот... нужно сделать группировки по цехам, так чтобы каждый цех разворачивался на номенклатуру. Сейчас делаю это вручную (выделяю номенклатуру и нажимаю кнопочку группировать), но так очень долго.... Может есть другой метод или может макрос у кого-нибудь есть?
К сообщению приложен файл: 0080521.xlsx (17.8 Kb)
 
Ответить
СообщениеДобрый день! Подскажите как можно быстро группировать данные? Во вложении пример таблицы, с которой работаю. Так вот... нужно сделать группировки по цехам, так чтобы каждый цех разворачивался на номенклатуру. Сейчас делаю это вручную (выделяю номенклатуру и нажимаю кнопочку группировать), но так очень долго.... Может есть другой метод или может макрос у кого-нибудь есть?

Автор - Econom
Дата добавления - 26.01.2015 в 06:06
SLAVICK Дата: Понедельник, 26.01.2015, 10:48 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вот так :D :
[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
[/vba]
К сообщению приложен файл: 0080521.xls (61.0 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Понедельник, 26.01.2015, 10:53
 
Ответить
СообщениеВот так :D :
[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
[/vba]

Автор - SLAVICK
Дата добавления - 26.01.2015 в 10:48
JayBhagavan Дата: Понедельник, 26.01.2015, 12:25 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
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
[/vba]

Автор - JayBhagavan
Дата добавления - 26.01.2015 в 12:25
SLAVICK Дата: Понедельник, 26.01.2015, 12:57 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Разрешаю :D
ТС не ставил задачи, перегруппировать данные. А поскольку не было запроса - я решил что этого и не нужно B)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеРазрешаю :D
ТС не ставил задачи, перегруппировать данные. А поскольку не было запроса - я решил что этого и не нужно B)

Автор - SLAVICK
Дата добавления - 26.01.2015 в 12:57
JayBhagavan Дата: Понедельник, 26.01.2015, 14:08 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, спасибо. pray :D
То, что ТС об этом не упомянул, сомнений не вызывает. Вначале добавил группировку сверху, а не снизу. В процессе тестирования было лень самому убирать группировку чтобы проверить работу макроса, вот, и добавил удаление оной. А так respect Вам - пополнил свою копилку ещё одной полезной штукой, которой не пользуюсь, но знакомым пригодится. :)


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов
 
Ответить
СообщениеSLAVICK, спасибо. pray :D
То, что ТС об этом не упомянул, сомнений не вызывает. Вначале добавил группировку сверху, а не снизу. В процессе тестирования было лень самому убирать группировку чтобы проверить работу макроса, вот, и добавил удаление оной. А так respect Вам - пополнил свою копилку ещё одной полезной штукой, которой не пользуюсь, но знакомым пригодится. :)

Автор - JayBhagavan
Дата добавления - 26.01.2015 в 14:08
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как быстро сгруппировать данные (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!