2015-11-23 56 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" 

該假設數據在A2開始,有問題的列答:您需要在所有行的選擇所有的列,起始於A2,然後公式應用CF

+0

謝謝Martes。 –