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

Вход

Регистрация

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

 

= Мир MS Excel/Группировка строк в зависимости от цвета - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Группировка строк в зависимости от цвета (Макросы/Sub)
Группировка строк в зависимости от цвета
reventon9 Дата: Среда, 10.08.2016, 08:44 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Здравствуйте уважаемый знатоки!
Подскажите, пожалуйста, макрос группировки строк в зависимости от цвета. В данном случае красный.
Просто строк очень много и группировать каждую вручную очень долго.

Заранее спасибо.
К сообщению приложен файл: 0318611.xlsx(9Kb)


Сообщение отредактировал reventon9 - Среда, 10.08.2016, 08:44
 
Ответить
СообщениеЗдравствуйте уважаемый знатоки!
Подскажите, пожалуйста, макрос группировки строк в зависимости от цвета. В данном случае красный.
Просто строк очень много и группировать каждую вручную очень долго.

Заранее спасибо.

Автор - reventon9
Дата добавления - 10.08.2016 в 08:44
_Boroda_ Дата: Среда, 10.08.2016, 09:20 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9375
Репутация: 3948 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Предположил, что у Вас не всегда таблица в столбце А и со строки 1, поэтому сделал по Селекшену. Перед запуском макроса нужно выделить тот диапазон, в котором будем искать красные (достаточно первый столбец диапазона - все равно по нему проверяет)
[vba]
Код
Sub RGrupSel()
    On Error Resume Next
    Cells.Rows.Ungroup
    'On Error GoTo 0
    For i = 1 To Selection.Rows.Count
        If Selection(i, 1).Font.Color = 255 Then
            Rows(i).Rows.Group
        End If
    Next i
End Sub
[/vba]
К сообщению приложен файл: 0318611_1.xlsm(13Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Среда, 10.08.2016, 10:01
 
Ответить
СообщениеТак нужно?
Предположил, что у Вас не всегда таблица в столбце А и со строки 1, поэтому сделал по Селекшену. Перед запуском макроса нужно выделить тот диапазон, в котором будем искать красные (достаточно первый столбец диапазона - все равно по нему проверяет)
[vba]
Код
Sub RGrupSel()
    On Error Resume Next
    Cells.Rows.Ungroup
    'On Error GoTo 0
    For i = 1 To Selection.Rows.Count
        If Selection(i, 1).Font.Color = 255 Then
            Rows(i).Rows.Group
        End If
    Next i
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 10.08.2016 в 09:20
reventon9 Дата: Среда, 10.08.2016, 09:23 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Спасибо!
 
Ответить
СообщениеСпасибо!

Автор - reventon9
Дата добавления - 10.08.2016 в 09:23
reventon9 Дата: Среда, 10.08.2016, 15:40 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Только сейчас попробовал применить на своем файле.... И оказалось что если у меня закрашивает красным цветом с помощью условного форматирования - то макрос не работает.
Можно ли как нибудь в этом помочь?

Заранее спасибо
К сообщению приложен файл: 6341409.xlsx(13Kb)
 
Ответить
СообщениеТолько сейчас попробовал применить на своем файле.... И оказалось что если у меня закрашивает красным цветом с помощью условного форматирования - то макрос не работает.
Можно ли как нибудь в этом помочь?

Заранее спасибо

Автор - reventon9
Дата добавления - 10.08.2016 в 15:40
_Boroda_ Дата: Среда, 10.08.2016, 15:58 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 9375
Репутация: 3948 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Все аналогично
[vba]
Код
Sub RGrupSel()
    On Error Resume Next
    Cells.Rows.Ungroup
    'On Error GoTo 0
    For i = 18 To Range("A" & Rows.Count).End(3).Row
        If Range("B" & i) = "" Then
            Rows(i).Rows.Group
        End If
    Next i
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВсе аналогично
[vba]
Код
Sub RGrupSel()
    On Error Resume Next
    Cells.Rows.Ungroup
    'On Error GoTo 0
    For i = 18 To Range("A" & Rows.Count).End(3).Row
        If Range("B" & i) = "" Then
            Rows(i).Rows.Group
        End If
    Next i
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 10.08.2016 в 15:58
reventon9 Дата: Среда, 10.08.2016, 16:07 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
СПАСИБО!
Помогло...
 
Ответить
СообщениеСПАСИБО!
Помогло...

Автор - reventon9
Дата добавления - 10.08.2016 в 16:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Группировка строк в зависимости от цвета (Макросы/Sub)
Страница 1 из 11
Поиск:

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