2017-10-11 9 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を使用して、それが黄色で、すでに1に等しい場合、赤でまだすべての白血球を描いている、条件付き書式をあきらめました。それが助けてくれたらと思います。

+0

いいえ、実際は、範囲の重複はすべて強調表示する必要はありません。各列は同じデータセットを持つので、全範囲に重複があります。 データが1行または1列にわたって繰り返される場合にのみ、色の強調表示が必要です。 –

+0

したがって、各列と各行に対して個別に条件付き書式設定が必要です。行数が多い場合は、マクロを使用して1つずつ書式を設定できます。 – MarcinSzaleniec

+0

いいえ。既に各行と各列に条件付き書式設定があります。 私が必要とするのは、条件付き書式で重複してマークされたものと同じ値を持つ範囲内のセルを強調表示することです。 –

関連する問題