Страницы: 1
RSS
Окрашивание ячеек в зависимости от выбранного ФИО в строке, макрос
 
Добрый день. Прошу подсказать макрос для следующей задачи:

В столбце С есть выпадающий список с фамилиями. Задача если выбрана Ф.И.О. 1 окрасить ячейки A:AF текущей строки в один цвет, если выбрана Ф.И.О. 2 в другой и т.д.. Окрашивание должно выполняться по действию, т.е. выбрал  Ф.И.О. 1 сразу - заливаем цветом, если выбрал другую - меняем цвет, а если удаляем значение из ячейки совсем - убираем заливку полностью.

УФ не подходит, нужен именно макрос.

Заранее большое спасибо!!!
Изменено: hr.al - 15.05.2020 12:07:34
 
>>> если выбрана Ф.И.О. 1 окрасить ячейки A:AF текущей строки в один цвет
Что есть цвет "один"? Или "другой"? Если речь о рандомном окрашивании - тогда разные ФИО могут иметь одинаковый цвет. Если речь о том, что каждая ФИО имеет свой персональный цвет - нужна таблица соответствий. И файл пример согласно Правил тоже не помеха (:
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР.
 
Вариант
Согласие есть продукт при полном непротивлении сторон
 
Sanja,,большое спасибо!!! То что нужно! Но есть одна проблема, если вставлять или удалять строчку, выпадает ошибка: "Run-time error ' 13': Type mismatch"....
Изменено: hr.al - 16.08.2015 17:26:04
 
В макросе, после строки
Код
Private Sub Worksheet_Change(ByVal Target As Range)
'добавте строку
On Error Resume Next
Согласие есть продукт при полном непротивлении сторон
 
Sanja, спасибо! Работает.
 
Sanja, здравствуйте. Есть еще один вопрос, примерно на ту же тему, поэтому спрошу здесь. Вы не подскажите макрос, который будет закрашивать ячейку по дате, а именно: если событие должно наступить сегодня, то цвет ячейки зеленый (в моем случает проверяем ячейки столбца "AB"), а вот если событие просрочено, заливаем красным цветом. УФ как и в первом случае не подходит, нужен именно макрос. Спасибо.
 
Скрытый текст

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan, спасибо, работает. Есть еще один вопрос - можно ли добавить условие, чтобы если дату удалили совсем (ячейка остается пуста), ячейка заливалась тем же цветом, что и ячейка слева? Такое возможно?
 
Добавьте перед 10й строкой:
Код
        ElseIf isempty(dt_tmp) Then
            cl.Interior.Color = cl.offset(,-1).Interior.Color 'ячейка заливалась тем же цветом, что и ячейка слева

Формула массива (ФМ) вводится 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
 
RAN, спасибо, Ваш код работает. Спасибо еще раз всем кто отвечает на вопросы.  ;)
Изменено: hr.al - 02.09.2015 08:22:24
 
Добрый день, помогите пожалуйста с макросом. Нужно чтоб закрашивал строку исходя из набора условий. Мне такая штука не под силу. Ознакомился с предыдущими записями, но все немного не то.
 
Всем привет,
А может ли макрос сделать закраску ячеек по такому условию.
К примеру у меня есть табличка с сортировкой значение от большего к меньшему. Сумма значений составляет 100%.
Мне нужно что Первый 80% в сумме закрашивались одним цветом, следующие 10% другим цветом, и остаток другим цветом.


Файл для примера прилагаю.
 
Для vicm
 
Дорожный, а для меня )))))
Страницы: 1
Наверх