728x90

[VBA] 최대값 셀에 배경색 지정


각 줄에서 가장 큰 값에 노랑색으로 채우고 싶을 때 어떻게 하죠?




관련 VBA 코드입니다.


Max_BackColor.vbs



Option Explicit
Sub Max_BackColor()
    Dim r As Long     '// 각 행을 늘려갈 변수
    Dim rowsCnt As Long   '// 전체 행의 개수를 넣을 변수
    Dim MaxNum As Long  '// 열의 최대값 변수
    Dim rngC As Range       '// 열 변동 변수
    Dim rngC_All As Range  '// 열 범위 변수
   
    Application.ScreenUpdating = False
    '// 셀에 배경색이 지정되어 있는 걸 초기화
    With Range([B2], Cells(Rows.Count, "D").End(3)).Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

    rowsCnt = Cells(Rows.Count, "A").End(3).Row
    For r = 2 To rowsCnt   '// 2행부터 마지막행까지 1씩 늘려나감
        Set rngC_All = Range(Cells(r, "B"), Cells(r, "D"))  '// 각행의 열범위 지정
        MaxNum = Application.Max(rngC_All)  '// 해당 행의 최대값
        For Each rngC In rngC_All
            If rngC = MaxNum Then
                rngC.Interior.ColorIndex = 6    '// 6 은 노란색
                Exit For
            End If
        Next rngC
    Next r
End Sub


블로그 이미지

Link2Me

,