질문 :회색조 값이 셀 값과 동일한 색상으로 스프레드시트의 각 셀을 채울 수 있습니까?
설명 :
다음과 같은 스프레드시트가 있다고 가정해 보세요.
모든 값은 0-255(256 회색조 색상에 해당) 사이에 있습니다. 이제 값이 셀의 값인 색상으로 각 셀을 채우고 싶습니다. 따라서 예상되는 출력은 다음과 같습니다.
또한 각 셀의 글꼴 색상은 배경색에 해당하는 검정색 또는 흰색입니다.
Excel에서 이 작업을 몇 가지 단계로 또는 한 번에 수행할 수 있는 간단한 방법이 있습니까?
답변1
셀을 반복하고 셀의 값을 읽고 다음과 같이 색상에 할당하는 매크로를 만듭니다.
Range("A1:A6").Interior.Color = RGB(200,160,35)
답변2
TheUser1024가 옳으며 내 투표권이 있습니다.
바로 사용할 수 있는 솔루션은 다음과 같습니다.
Public Sub Demo()
Dim cel As Range
Dim myRange As Range
Set myRange = Range("A1:E10")
For Each cel In myRange
cel.Interior.Color = RGB(cel.Value, cel.Value, cel.Value)
If cel.Value > 127 Then
cel.Font.Color = RGB(0, 0, 0)
Else
cel.Font.Color = RGB(255, 255, 255)
End If
Next cel
End Sub
편집하다:
이 코드는 문자열이나 음수 값의 경우에도 깨지지 않습니다.
Public Sub Demo()
Dim cel As Range
Dim greytone As Long
Dim myRange As Range
Set myRange = Range("A1:E10")
For Each cel In myRange
greytone = CLng(Abs(Val(cel.Value)))
cel.Interior.Color = RGB(greytone, greytone, greytone)
If greytone > 127 Then
cel.Font.Color = RGB(0, 0, 0)
Else
cel.Font.Color = RGB(255, 255, 255)
End If
Next cel
End Sub