Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: Декстер Морган от 16.02.2017, 17:30

Название: Изменение заливки в зависимости от значения (доработка кода)
Отправлено: Декстер Морган от 16.02.2017, 17:30
Ребят помогите с такой проблемой. Есть вот такой код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A1:T50")) Is Nothing Then
Call Макрос500
End If
End Sub

и собственно сам Макрос500:
Sub Ìàêðîñ500()
If Application.WorksheetFunction.CountIf(Range("B7:С7"), "1000") > 0 Then
        Range("D7:K7").Interior.ColorIndex = 6
    Else
        Range("D7:K7").Interior.ColorIndex = xlNone
    End If
    If Application.WorksheetFunction.CountIf(Range("B6:С6"), "1000") > 0 Then
        Range("D6:K6").Interior.ColorIndex = 6
    Else
        Range("D6:K6").Interior.ColorIndex = xlNone
    End If
    If Application.WorksheetFunction.CountIf(Range("B5:С5"), "1000") > 0 Then
        Range("D5:K5").Interior.ColorIndex = 6
    Else
        Range("D5:K5").Interior.ColorIndex = xlNone
    End If
End Sub


То есть при изменении ячейки из указанного диапазона (A1:T50) запускается Макрос, который проверяет есть ли в диапазоне (B7:C7) число 1000, если есть то заливает диапазон (d7:K7) желтым цветом. В чем задача:
1. нужно, чтоб он как то сам определял в какой строке стоит число 1000 и в этой же строке заливал ячейки с D по K
2. и еще, если 1000 ввели в ячейку то диапазон окрашивается с D по K, если 500 то закрашивается с D по M, если 700 то с D по X.

Пример не могу выложить, там данные клиентов.Помогите пожалуйста!
Название: Re: Изменение заливки в зависимости от значения (доработка кода)
Отправлено: zs5 от 17.02.2017, 18:36
Аналогия - условное_форматирование (https://msexcel.ru/content/view/116/2/) по условию (=ПОИСКПОЗ(500;A1)>0)