2017-10-11 7 views
0

나는 10 열 3 열이라고하는 범위/표를 가지고 있습니다.Excel : 범위 내에서 같은 값을 갖는 다른 셀의 색을 기준으로 셀을 색칠하는 방법?

특정 셀은 데이터 유효성 검사를 사용하여 만든 목록에서 특정 값을 가질 수 있습니다. 이 범위의 모든 셀에는 동일한 데이터 유효성 검사 목록이 있습니다.

값이 대각선 또는 기타가 아닌 행이나 열에서 반복되는 경우 해당 값은 조건부 서식을 사용하여 강조 표시됩니다.

이제 동일한 값이 중복되지 않는 행이나 열의 다른 곳에 있으면 그 셀도 색을 지정해야합니다. (두 형식의 차이점을 알기 위해 조건부 서식에 사용되는 색상과 다른 색상을 사용하는 것이 바람직 함).

목적은 반복되는 값과 방법을 알기위한 것이며 범위 내에서 해당 값이 사용되지만 조건에 따라 반복되지는 않습니다.

주 : 추가 정보 또는 설명이 필요한지 확인하십시오.

내 쿼리를 더 잘 이해하려면 첨부 된 이미지를 참조하십시오. 파란색은 조건부 서식으로 채색되며 녹색은 채색해야합니다.

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

아니요. 각 행과 각 열에 대해 별도로 조건부 서식을 지정했습니다. 이제 조건부 서식으로 중복 표시된 것으로 표시된 것과 동일한 값을 가진 범위의 셀을 강조 표시해야합니다. –