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

Вход

Регистрация

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

 

= Мир MS Excel/Раскрасить строку при наличие условия в ячейке (макрос) - Мир MS Excel

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

Excel 2010
Добрый день, просьба помочь с редактированием макроса.

Задача: раскрашивать строку до последнего значения в ней в определенный цвет если в строке есть слово "итого". Раскраска начинается со слова "итого".
При этом если в строке попадается 2 слова "итого" - действует цвет соответствующий первому значению.

Условное форматирование не подходит, т.к. каждый раз выгружается новый файл с данными.

Во вложении пример.
К сообщению приложен файл: 0236243.xls(78Kb)


Сообщение отредактировал Serg_naum - Четверг, 26.10.2017, 09:33
 
Ответить
СообщениеДобрый день, просьба помочь с редактированием макроса.

Задача: раскрашивать строку до последнего значения в ней в определенный цвет если в строке есть слово "итого". Раскраска начинается со слова "итого".
При этом если в строке попадается 2 слова "итого" - действует цвет соответствующий первому значению.

Условное форматирование не подходит, т.к. каждый раз выгружается новый файл с данными.

Во вложении пример.

Автор - Serg_naum
Дата добавления - 26.10.2017 в 09:32
sboy Дата: Четверг, 26.10.2017, 09:52 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1103
Репутация: 276 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Вот так можно
[vba]
Код
Sub Макрос3()
    Dim lLastRow As Long, lLastCol As Long, cl As Range
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
'lLastCol = Cells(1, Columns.Count).End(xlToLeft).Column
    
    For Each cl In Range("A4:A" & lLastRow)
        If cl.Value = "Итого" Then
            Range(cl, Cells(cl.Row, Columns.Count).End(xlToLeft)).Interior.Color = 51
        End If
    Next cl
    
    For Each cl In Range("B4:B" & lLastRow)
        If cl.Value = "Итого" Then
            If cl.Interior.Color = 16777215 Then Range(cl, Cells(cl.Row, Columns.Count).End(xlToLeft)).Interior.Color = 103
        End If
    Next cl
    
    For Each cl In Range("C4:C" & lLastRow)
        If cl.Value = "Итого" Then
            If cl.Interior.Color = 16777215 Then Range(cl, Cells(cl.Row, Columns.Count).End(xlToLeft)).Interior.Color = 501
        End If
    Next cl
End Subb
[/vba]
К сообщению приложен файл: 3515348.xls(82Kb)
 
Ответить
СообщениеДобрый день.
Вот так можно
[vba]
Код
Sub Макрос3()
    Dim lLastRow As Long, lLastCol As Long, cl As Range
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
'lLastCol = Cells(1, Columns.Count).End(xlToLeft).Column
    
    For Each cl In Range("A4:A" & lLastRow)
        If cl.Value = "Итого" Then
            Range(cl, Cells(cl.Row, Columns.Count).End(xlToLeft)).Interior.Color = 51
        End If
    Next cl
    
    For Each cl In Range("B4:B" & lLastRow)
        If cl.Value = "Итого" Then
            If cl.Interior.Color = 16777215 Then Range(cl, Cells(cl.Row, Columns.Count).End(xlToLeft)).Interior.Color = 103
        End If
    Next cl
    
    For Each cl In Range("C4:C" & lLastRow)
        If cl.Value = "Итого" Then
            If cl.Interior.Color = 16777215 Then Range(cl, Cells(cl.Row, Columns.Count).End(xlToLeft)).Interior.Color = 501
        End If
    Next cl
End Subb
[/vba]

Автор - sboy
Дата добавления - 26.10.2017 в 09:52
Serg_naum Дата: Четверг, 26.10.2017, 10:33 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
sboy, спасибо, все заработало)
+ в карму и репутацию.
 
Ответить
Сообщениеsboy, спасибо, все заработало)
+ в карму и репутацию.

Автор - Serg_naum
Дата добавления - 26.10.2017 в 10:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Раскрасить строку при наличие условия в ячейке (макрос) (Макросы/Sub)
Страница 1 из 11
Поиск:

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