2016-06-16 9 views
0

Что я пытаюсь сделать: если ячейка на столбце D говорит, что машины затем проверяют последнюю ячейку справа (последняя ячейка в строке), и если значение равно менее 20%, затем выделите. (который является последней частью кода):Двойной оператор if затем выделите, если значение <> to% от

Это то, что у меня есть до сих пор, но я не могу понять, как его решить. Я должен сделать это для работы, но я смущен благодарю!

Worksheets("Report").Activate 
Call VBA 

Dim lrow As Integer 
Dim xrow As Integer 

Dim FR As Range 
Dim MR As Range 
Dim cell As Range 

lrow = wsr.Cells(Rows.Count, 3).End(xlUp).Row 
xrow = wsr.Cells(Rows.Count, 3).End(xlToRight) 

Set FR = Range("D12:D" & lrow) 
For Each cell In FR 
If cell.Value = "Cars" then for cell.xrow if cell.Value > 0.20 then Then cell.Interior.Color = RGB(224, 202, 224) 

От Xrow Я имею в виду последнюю ячейку на ряду.

Спасибо!

+1

последнюю ячейку ряд? В какой колонке это? или это переменная? –

+1

Попробуйте условное форматирование? – findwindow

+0

Только для FYI: формула условного форматирования: '= AND ($ D12 =" Cars ", INDEX (12: 12, MATCH (1E + 99,12: 12))> 0,2)' –

ответ

2

Попробуйте это:

For Each cell In FR 
    If cell.Value = "Cars" Then 
     If Cells(cell.Row, Columns.Count).End(xlToLeft).Value < 0.2 Then 
      cell.Interior.Color = vbRed 
     End If 
    End If 
Next 

Однако ответ Скотта Крейнера является гораздо более элегантным решением.

2

Чтобы избежать vba, вы можете использовать Условное форматирование.

Формула условного форматирования будет затем:

=AND($D12="Cars",INDEX(12:12,MATCH(1E+99,12:12))>0.2) 

INDEX(12:12,MATCH(1E+99,12:12)) часть, что находит последний столбец в этой строке, которая имеет номер. Затем проверить является ли больше, чем .2

Вы можете применить его ко всем строкам и столбцам желательно форматировать, начиная с строки 12, я только применил его к D12: D28:

enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^