我搜索并查看了类似的问题,但无法找到我正在寻找的内容。
我想根据星期几(星期一是绿色,星期日是红色,太阳是黄色等)将行的背景设置为某种颜色,在列中输入的日期值A.
有人可以帮助我使用VBA代码实现这一目标吗?
答案 0 :(得分:1)
这个VBA代码应该这样做:
的参考文档我没有检查当天的颜色是否正确;正确的值可以在我链接的文档中找到。
Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each Cell In Target
Select Case Weekday(Cell.Value)
Case Is = 1
Cell.Columns("A:J").Interior.ColorIndex = 1
Case Is = 2
Cell.Columns("A:J").Interior.ColorIndex = 2
Case Is = 3
Cell.Columns("A:J").Interior.ColorIndex = 3
Case Is = 4
Cell.Columns("A:J").Interior.ColorIndex = 4
Case Is = 5
Cell.Columns("A:J").Interior.ColorIndex = 5
Case Is = 6
Cell.Columns("A:J").Interior.ColorIndex = 6
Case Is = 7
Cell.Columns("A:J").Interior.ColorIndex = 7
End Select
Next
End If
End Sub
答案 1 :(得分:0)
免责声明:我在发布条件格式示例后才注意到有人询问了VBA解决方案。
使用条件格式,您可以尝试:
WEEKDAY
函数应用于=WEEKDAY(CELLREF)
。这将返回一个从1到7的数字,表示一周中的某一天。
接下来的规则:
具体规则:
这仅适用于星期日和另一天,但您应该可以选择其他日子的颜色。
请注意,我在Mac上运行Excel但在Windows上,你应该在这里找到条件格式:
条件格式和日期的更详细说明是here
修改强>
使用条件格式设置格式化整个行:
=$C5=1
你会得到类似的东西:
和
这将导致:
更改单元格的日期: