2015-11-23 3 views
1

У меня есть таблица, в которую мы постоянно добавляем данные. Эти данные импортируются из отчета и добавляются в конец электронной таблицы. У меня уже есть макрос, чтобы удалить дубликаты. Существует еще один макрос, который будет выделять определенные строки на основе одного из содержимого ячеек, а затем сделать копию строки и вставить ее в другой лист в книге. В одном из столбцов требуется число, как данные. Однако иногда это число недоступно, и мы вводим «RCA Pending» в эту ячейку.Раскраски для ячеек на основе нескольких критериев

Что мне нужно сделать, это выделить клетку, выделенную красным цветом. Но, как только число вводится в ячейку, мне нужно, чтобы цвет ячейки изменился на «без заполнения», если только эта строка не подсвечена из предыдущего макроса, который был запущен.

Expected result sample

Я не против объединения этих макросов, если это проще.

Вот первый макрос перечисленных выше:

' This part highlights all rows that are Disputed 
' Keyboard Shortcut: CTRL+SHIFT+L 

    Dim row As Range 
    For Each row In ActiveSheet.UsedRange.Rows 
     If row.Cells(1, "F").Value = "After Dispute For SBU" Then 
      row.Interior.ColorIndex = 6 
     Else 
      row.Interior.ColorIndex = xlNone 
     End If 
    Next row 

' This part clears the Disputed worksheet and copies all disputed rows to the sheet 

With ThisWorkbook.Worksheets("Disputed") 
Range(.Range("A2"), .UsedRange.Offset(1, 0)).EntireRow.Delete 
End With 

Dim lr As Long, lr2 As Long, r As Long 
lr = Sheets("Master").Cells(Rows.Count, "A").End(xlUp).row 
lr2 = Sheets("Disputed").Cells(Rows.Count, "A").End(xlUp).row 
For r = lr To 2 Step -1 
    If Range("F" & r).Value = "After Dispute For SBU" Then 
     Rows(r).Copy Destination:=Sheets("Disputed").Range("A" & lr2 + 1) 
     lr2 = Sheets("Disputed").Cells(Rows.Count, "A").End(xlUp).row 
    End If 

    Range("A2").Select 
Next r 
Range("C" & Rows.Count).End(xlUp).Offset(1).Select 
End Sub 
+2

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

+0

Да, но есть слишком много условий и переменных, которые необходимо выполнить. –

+0

Итак, я попытаюсь объяснить это немного лучше, поскольку я не могу добавить таблицу с примерами раскраски. Будем считать, что все необходимые данные установлены для строк с 1 по 4 (в этом примере нет заголовков, но есть в книге). В строке 1 ячейка F1 будет иметь значение «After Dispute». Эта строка должна быть желтой. В строке 2 все значения ячейки - это числа (как и ожидалось). В ячейке 3 строки F3 будет иметь значение «After Dispute», и ячейка K3 будет иметь значение «RCA Pending». Ожидаемый результат: эта строка будет заполнена желтым цветом, но K3 должен быть заполнен красным цветом. K4 имеет значение «RCA Pending» и должен быть красным. –

ответ

2

Как насчет с помощью условного форматирования на данных. Вы могли бы использовать формулу, как

=$A2="RCA Pending" 

, который предполагает, что данные начинаются в А2 и столбец в вопросе A. Вы должны выбрать все столбцы во всех строк, начиная с А2, а затем примените CF

+0

Спасибо, Мартес. –

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