У меня есть таблица, в которую мы постоянно добавляем данные. Эти данные импортируются из отчета и добавляются в конец электронной таблицы. У меня уже есть макрос, чтобы удалить дубликаты. Существует еще один макрос, который будет выделять определенные строки на основе одного из содержимого ячеек, а затем сделать копию строки и вставить ее в другой лист в книге. В одном из столбцов требуется число, как данные. Однако иногда это число недоступно, и мы вводим «RCA Pending» в эту ячейку.Раскраски для ячеек на основе нескольких критериев
Что мне нужно сделать, это выделить клетку, выделенную красным цветом. Но, как только число вводится в ячейку, мне нужно, чтобы цвет ячейки изменился на «без заполнения», если только эта строка не подсвечена из предыдущего макроса, который был запущен.
Я не против объединения этих макросов, если это проще.
Вот первый макрос перечисленных выше:
' 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
Вы пробовали условное форматирование? – findwindow
Да, но есть слишком много условий и переменных, которые необходимо выполнить. –
Итак, я попытаюсь объяснить это немного лучше, поскольку я не могу добавить таблицу с примерами раскраски. Будем считать, что все необходимые данные установлены для строк с 1 по 4 (в этом примере нет заголовков, но есть в книге). В строке 1 ячейка F1 будет иметь значение «After Dispute». Эта строка должна быть желтой. В строке 2 все значения ячейки - это числа (как и ожидалось). В ячейке 3 строки F3 будет иметь значение «After Dispute», и ячейка K3 будет иметь значение «RCA Pending». Ожидаемый результат: эта строка будет заполнена желтым цветом, но K3 должен быть заполнен красным цветом. K4 имеет значение «RCA Pending» и должен быть красным. –