Страницы: 1
RSS
Раскрасить строки в таблице по условию
 
Всем привет!  
Помогите, пожалуйста, решить такую задачку:  
Есть таблица, её нужно автоматически отсортировать по имени, потом по возрасту и после этого раскрасить те строки таблицы в разные цвета, имена которых совпадают.  
Как это сделать макросом?
 
а вы пробовали макроредодером, например?  
по-крайней мере в файле только пустые модули
 
Sub Макрос5()  
 
   Range("A2:C11").Select  
   Selection.FormatConditions.Delete  
   Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _  
       "=СЧЁТЕСЛИ($A:$A;A2)>1"  
   Selection.FormatConditions(1).Interior.ColorIndex = 38  
   Range("H31:H32").Select  
   Range("H32").Activate  
End Sub  
 
 
Таким образом он раскрасит все группы данных в один и тот же цвет, а мне нужно, чтобы соблюдалось условие, цвет разный для каждой группы
 
у меня есть идейка, как раскрасить, но очень кривая, при этом он будет красить также и ячейки, значения в которых встречаются только один раз. но зато все группы разным цветом. но сразу говорю, очень кривое решение))
 
расскажите?
 
Если правильно понял:  
Sub test()  
   Dim col, r  
   Range("A2:C" & Cells(Rows.Count, 3).End(xlUp).Row).Sort key1:=Range("A2"), order1:=xlAscending, key2:=Range("B2"), order2:=xlAscending  
   col = 3  
   For r = 2 To Cells(Rows.Count, 3).End(xlUp).Row  
       If Cells(r, 1) = Cells(r + 1, 1) And Cells(r, 1) <> Cells(r - 1, 1) Then  
           Range("A" & r & ":C" & r).Interior.ColorIndex = col  
           If col < 56 Then  
               col = col + 1  
           Else  
               col = 3  
           End If  
       ElseIf Cells(r, 1) = Cells(r - 1, 1) Then  
           Range("A" & r & ":C" & r).Interior.ColorIndex = Range("A" & r - 1 & ":C" & r - 1).Interior.ColorIndex  
       End If  
   Next r  
End Sub
 
ну, вообщем, зависла я со своим кривым решением, но, к счатсью, и без меня разобрались))
 
webley, а можно еще отделить каждую группу жирной обводкой?
 
Спасибо Вам всем большое!
Страницы: 1
Читают тему
Наверх