使用VBA根据另一个单元格区域中的值在单元格区域上应用阴影

时间:2018-10-18 10:23:18

标签: excel vba excel-vba

我有一个Excel 2010工作表,其中包含一年中每个月的日期(B8:B38)。在(A8:A38)中,我使用weekday()将工作日显示为文本。

现在,我只想对({8}:W38)范围内显示SaturdaySundays 50%灰色的行进行着色。

我尝试了条件格式,但是没有运气。可能是因为在每个单元格(A8:A38)中,我都有一个公式(weekday())而不是文本(例如Mo,Tue,Wed,Thu,Fri,Sat或Sun)。

任何建议都值得赞赏。谢谢你们! :=) 斯蒂瓦斯

1 个答案:

答案 0 :(得分:0)

如果必须使用VBA,请尝试以下操作:-

    Option Explicit

        Sub ColourDays()
        Dim rng As Range
        Dim ws As Worksheet
        Dim c As Range

        Set ws = Worksheets("Sheet1")
        Set rng = ws.Range("A8:W38")

        For Each c In rng
        If c.Value = "Sat" Then

        With c.Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorDark1
                .TintAndShade = -0.149998474074526
                .PatternTintAndShade = 0
        End With

        Else
        If c.Value = "Sun" Then

        With c.Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorDark1
                .TintAndShade = -0.149998474074526
                .PatternTintAndShade = 0
            End With
        End If
        End If
        Next c
End Sub