簡體   English   中英

Excel:如何根據范圍內具有相同值的其他單元格的顏色為單元格着色?

[英]Excel: How to color cells based on color of other cells having same value in a range?

我有一個說10行到3列的范圍/表。

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

如果某個值在任何行或任何列上重復,而不是對角線或其他方式重復,則使用條件格式突出顯示這些值。

現在,我希望如果在非重復行或列中的其他位置存在相同的值,那么這些單元格也應該被着色。 (最好是與條件格式化所用的顏色不同,以了解兩者之間的差異)。

目的是要知道哪些值是重復的,以及如何使用這些值,以及在范圍內的何處使用這些值,但不會根據標准重復這些值。

附言:請告知是否需要其他信息或一些說明。

請參考所附圖片以更好地理解我的查詢。 藍色的顏色通過條件格式進行着色,綠色的顏色需要通過您的幫助進行着色。

圖片供理解

您可以對整個范圍使用條件格式設置->重復值,並在條件格式設置->管理規則中使用不同的顏色和設置順序。 我認為不需要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在列/行中繪制重復項,然后如果所有靜止的白色單元格等於黃色,則將其繪制為紅色。 希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM