Всем доброго дня. Написал код подсветки красным цветом ячейки, если время больше заданного. Одно условие работает, но когда добавил еще 4 условия, работать перестало и ошибку не выдает. Подскажите где я неправильно написал? [vba]
Code
Sub xls() Dim xl As Long Dim t As Date Dim t1 As Date Dim t2 As Date Dim t3 As Date Dim t4 As Date
ActiveSheet.Unprotect Password:="" t = TimeValue("00:20:00") t1 = TimeValue("00:30:00") t2 = TimeValue("00:15:00") t3 = TimeValue("00:20:00") t4 = TimeValue("00:40:00")
With Worksheets("Лист2") xl = Cells(Rows.Count, "I").End(xlUp).Row If .Range("I" & xl - 1).Value = "Приладка" And _ .Range("L" & xl - 1).Value > t Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0) If .Range("I" & xl - 1).Value = "Обед" And _ .Range("L" & xl - 1).Value > t1 Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0) If .Range("I" & xl - 1).Value = "Чай" And _ .Range("L" & xl - 1).Value > t2 Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0) If .Range("I" & xl - 1).Value = "вариант" And _ .Range("L" & xl - 1).Value > t3 Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0) If .Range("I" & xl - 1).Value = "вариант1" And _ .Range("L" & xl - 1).Value > t4 Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0)
End With ActiveSheet.Protect Password:="" End Sub
[/vba]
Всем доброго дня. Написал код подсветки красным цветом ячейки, если время больше заданного. Одно условие работает, но когда добавил еще 4 условия, работать перестало и ошибку не выдает. Подскажите где я неправильно написал? [vba]
Code
Sub xls() Dim xl As Long Dim t As Date Dim t1 As Date Dim t2 As Date Dim t3 As Date Dim t4 As Date
ActiveSheet.Unprotect Password:="" t = TimeValue("00:20:00") t1 = TimeValue("00:30:00") t2 = TimeValue("00:15:00") t3 = TimeValue("00:20:00") t4 = TimeValue("00:40:00")
With Worksheets("Лист2") xl = Cells(Rows.Count, "I").End(xlUp).Row If .Range("I" & xl - 1).Value = "Приладка" And _ .Range("L" & xl - 1).Value > t Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0) If .Range("I" & xl - 1).Value = "Обед" And _ .Range("L" & xl - 1).Value > t1 Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0) If .Range("I" & xl - 1).Value = "Чай" And _ .Range("L" & xl - 1).Value > t2 Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0) If .Range("I" & xl - 1).Value = "вариант" And _ .Range("L" & xl - 1).Value > t3 Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0) If .Range("I" & xl - 1).Value = "вариант1" And _ .Range("L" & xl - 1).Value > t4 Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0)
Да знаком я с усл. форматированием. Тормозит жутко, вот и пробую, чтоб пересчитывал только одну ячейку, а не всю таблицу. Вопрос по написанию кода, правильно ли написан... Особенно интересует функция If может я ее не правильно ее применяю. Если эта функция одна она работает.... [vba]
Code
If .Range("I" & xl - 1).Value = "Приладка" And _ .Range("L" & xl - 1).Value > t Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0)
[/vba]
Quote (Gustav)
Познакомились бы сами с ним!
Да знаком я с усл. форматированием. Тормозит жутко, вот и пробую, чтоб пересчитывал только одну ячейку, а не всю таблицу. Вопрос по написанию кода, правильно ли написан... Особенно интересует функция If может я ее не правильно ее применяю. Если эта функция одна она работает.... [vba]
Code
If .Range("I" & xl - 1).Value = "Приладка" And _ .Range("L" & xl - 1).Value > t Then _ .Range("L" & xl - 1).Interior.Color = RGB(255, 0, 0)