2017-10-11 288 views
0

我有一個10行到3列的範圍/表格。Excel:如何根據具有相同值的其他單元格的顏色對單元格進行着色?

任何特定的單元格可以使用數據驗證創建的列表中的任何特定值。該範圍內的所有單元格都具有相同的數據驗證列表。

如果一個值在任何行或任何列上重複,而不是對角或其他值,那麼這些值將使用條件格式高亮顯示。

現在我想,如果相同的值存在於非重複行或列中的其他地方,那麼這些單元格也應該被着色。 (最好使用不同於用於條件格式化以瞭解兩者之間差異的顏色)。

目的是要知道哪些值重複以及如何使用這些值的範圍,以及哪些值不會按照標準重複使用。

P.s .:請告知是否需要額外的信息或一些澄清。

請參閱附加圖像以更好地瞭解我的查詢。 藍色的通過條件格式着色,綠色的通過你的幫助需要着色。

Image for understanding

回答

1

你可以使用條件formatting->重複值的整個範圍,用不同的顏色,並設置順序條件Formatting->管理規則。我認爲不需要VBA。編輯: 好吧,我想我知道你在問什麼。試試這個小子程序:

Sub PaintDuplis() 
Dim rng As Range 
Dim col As Range 
Dim row As Range 
Dim cl As Range, cl2 As Range 

Set rng = Range("B4:D11") 'or whatever your range is. 
'Columns 
For Each col In rng.Columns 
    For Each cl In col.Cells 
    If WorksheetFunction.CountIf(col, cl.Value) > 1 Then cl.Interior.Color = vbYellow 
    Next cl 
Next col 

'Rows 
For Each row In rng.rows 
    For Each cl In row.Cells 
    If WorksheetFunction.CountIf(row, cl.Value) > 1 Then cl.Interior.Color = vbYellow 
    Next cl 
Next row 

'Paint whole range 
For Each cl In rng 
    If cl.Interior.Color = vbYellow Then 
    For Each cl2 In rng 
     If cl2.Value = cl.Value And cl2.Interior.Color <> vbYellow Then cl2.Interior.Color = vbRed 
    Next cl2 
    End If 
Next cl 

我已經放棄了條件格式,而不是我用VBA畫在列/行重複再塗上都還是白細胞紅色,如果它等於一個已經爲黃色。希望它有幫助。

+0

不,實際上,整個範圍重複不需要突出顯示。整個範圍將有重複,因爲每列將具有相同的數據集。 僅當數據在一行或一列上重複時才需要顏色突出顯示。 –

+0

因此,您需要對每列和每行分別進行條件格式化。如果行數很多,則可以使用宏逐個格式化它們。 – MarcinSzaleniec

+0

不,我已經分別爲每行和每列設置了條件格式。 現在我需要的是突出顯示範圍內的那些單元格,這些單元格具有與通過條件格式設置複製的值相同的值,而不是那些標記爲重複的單元格。 –

相關問題