Добрый день. Прошу подсказать макрос для следующей задачи:
В столбце С есть выпадающий список с фамилиями. Задача если выбрана Ф.И.О. 1 окрасить ячейки A:AF текущей строки в один цвет, если выбрана Ф.И.О. 2 в другой и т.д.. Окрашивание должно выполняться по действию, т.е. выбрал Ф.И.О. 1 сразу - заливаем цветом, если выбрал другую - меняем цвет, а если удаляем значение из ячейки совсем - убираем заливку полностью.
>>> если выбрана Ф.И.О. 1 окрасить ячейки A:AF текущей строки в один цвет Что есть цвет "один"? Или "другой"? Если речь о рандомном окрашивании - тогда разные ФИО могут иметь одинаковый цвет. Если речь о том, что каждая ФИО имеет свой персональный цвет - нужна таблица соответствий. И файл пример согласно Правил тоже не помеха (:
Sanja,,большое спасибо!!! То что нужно! Но есть одна проблема, если вставлять или удалять строчку, выпадает ошибка: "Run-time error ' 13': Type mismatch"....
Sanja, здравствуйте. Есть еще один вопрос, примерно на ту же тему, поэтому спрошу здесь. Вы не подскажите макрос, который будет закрашивать ячейку по дате, а именно: если событие должно наступить сегодня, то цвет ячейки зеленый (в моем случает проверяем ячейки столбца "AB"), а вот если событие просрочено, заливаем красным цветом. УФ как и в первом случае не подходит, нужен именно макрос. Спасибо.
Sub jjj()
dt_today = Date
For Each cl In Intersect([AB:AB], UsedRange)
dt_tmp = cl.Value
If IsDate(dt_tmp) Then
If dt_tmp = dt_today Then
cl.Interior.Color = 5296274 'green
ElseIf dt_tmp < dt_today Then
cl.Interior.Color = 255 'red
End If
End If
Next cl
End Sub
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
JayBhagavan, спасибо, работает. Есть еще один вопрос - можно ли добавить условие, чтобы если дату удалили совсем (ячейка остается пуста), ячейка заливалась тем же цветом, что и ячейка слева? Такое возможно?
Private Sub Worksheet_Activate()
dt_today = Date
For Each cl In Intersect([AB:AB], UsedRange)
dt_tmp = cl.Value
If IsDate(dt_tmp) Then
If dt_tmp = dt_today Then 'если событие сегодня
cl.Interior.Color = 13561798
cl.Font.Color = -16752384
ElseIf dt_tmp < dt_today Then
cl.Interior.Color = 13551615 'если событие пропущено
cl.Font.Color = -16383844
End If
ElseIf IsEmpty(dt_tmp) Then 'если дата очищена
cl.Interior.Color = cl.Offset(, -1).Interior.Color
End If
Next cl
End Sub
Добрый день, помогите пожалуйста с макросом. Нужно чтоб закрашивал строку исходя из набора условий. Мне такая штука не под силу. Ознакомился с предыдущими записями, но все немного не то.
Всем привет, А может ли макрос сделать закраску ячеек по такому условию. К примеру у меня есть табличка с сортировкой значение от большего к меньшему. Сумма значений составляет 100%. Мне нужно что Первый 80% в сумме закрашивались одним цветом, следующие 10% другим цветом, и остаток другим цветом.