Добрый день, просьба помочь с редактированием макроса.
Задача: раскрашивать строку до последнего значения в ней в определенный цвет если в строке есть слово "итого". Раскраска начинается со слова "итого". При этом если в строке попадается 2 слова "итого" - действует цвет соответствующий первому значению.
Условное форматирование не подходит, т.к. каждый раз выгружается новый файл с данными.
Во вложении пример.
Добрый день, просьба помочь с редактированием макроса.
Задача: раскрашивать строку до последнего значения в ней в определенный цвет если в строке есть слово "итого". Раскраска начинается со слова "итого". При этом если в строке попадается 2 слова "итого" - действует цвет соответствующий первому значению.
Условное форматирование не подходит, т.к. каждый раз выгружается новый файл с данными.
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]
Добрый день. Вот так можно [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