programing

셀 값을 기준으로 전체 행 색상 지정

css3 2023. 8. 23. 21:54

셀 값을 기준으로 전체 행 색상 지정

해당 행의 두 셀 값이 같은 경우 전체 행에 색상을 지정하려고 합니다.

For i = 2 To LastRow
    If Worksheets("Request Results").Cells(i, 4).Value <> Worksheets("Request Results").Cells(i, 6).Value Then
        Cells(i, 1).EnitreRow.Interior.ColorIndex = 255
    ElseIf Worksheets("Request Results").Cells(i, 4).Value = Worksheets("Request Results").Cells(i, 6).Value Then
        Cells(i, 1).EntireRow.Interior.ColorIndex = 5296274
    End If
Next i

루프는 먼저 다른 문으로 들어가고 난 다음에

"구독 범위를 벗어남"

Cells(i, 1).EntireRow.Interior.ColorIndex = 5296274

색상 색인을 색상으로 변경합니다.

Cells(i, 1).EntireRow.Interior.Color = 5296274

이 오류의 원인이 무엇인지 아는 사람이 있습니까?

MSDN 도움말에서ColorIndex속성:

ColorIndex 속성에는 색상을 생성하는 0에서 56 사이의 유효한 정수 인수가 있을 수 있습니다.그러나 런타임 오류를 생성하지 않고 속성에 십진수 또는 문자열 값을 할당할 수 있습니다.이러한 경우 Excel은 인수 값에 해당하는 색상을 임의로 적용하려고 합니다.그러나 속성을 0에서 56 사이의 범위를 벗어나는 정수 값으로 설정하면 다음 오류가 발생합니다.

런타임 오류 '9': 구독자가 범위를 벗어남

동일한 페이지에서 유효한 인덱스가 있는 Color Palette를 찾을 수 있습니다.

enter image description here

참고:ColorIndex와 다릅니다.ColorRGB 사양을 사용하고 보다 다양한 용도로 사용됩니다.추가 정보:ColorColorIndex 여기에

저는 개인적으로 사용하는 것을 선호합니다.Color내장된 VBA 색상 열거 vbBlack, vbRed, vbGreen, vbYellow, vbBlue, vbMagenta, vbCyan,그리고.vbWhite대부분의 응용 프로그램에서는 이 정도면 충분하지만, 더 많은 색상이 필요한 경우 사용자 지정 열거형 색상을 사용할 수도 있으며 RGB 테이블을 조회하는 것보다 더 우아합니다.

이것이 도움이 되길 바랍니다!

저는 비슷한 행 강조 문제에 이런 것을 사용했습니다.

For Each Rng in SomeRange.Columns(1).Cells
  Rng.EntireRow.Interior.Color = 5296274
Next

언급URL : https://stackoverflow.com/questions/25000691/color-entire-row-based-on-cell-value