如何根据其他单元格的内容格式化/着色单元格

时间:2015-11-20 18:20:37

标签: excel vba excel-vba colors

我正在尝试自动化Excel工作簿,以帮助节省制定员工工作时间表的时间。我有两张床单。 Sheet1包含一个简单的表,用于创建月份的预定计划(第一列中的员工姓名,顶行的日期,每天标记为“WORKING”,“ON CALL”,“OFF”等),另一张表包含一个带有颜色代码的表格,用于跟踪周期过后实际保存的时间表。我需要Sheet2根据Sheet1上手动计划的时间表更新颜色代码,这样我就可以浪费更少的公司时间手动着色编码单元格。

我不想使用条件格式,因为我相信你不能覆盖它给单元格的格式(如果一个员工叫出来而不是在他预定的一天工作而且在Sheet2上这需要要记录 - 使用不同的颜色代码)。我只需要帮助找出一些可以帮助加快速度的宏,并浪费更少的公司时间手动着色编码单元格。

这次我不想录制宏,因为每次更新/制作时间表时,姓名和工作天数都会不同。

1 个答案:

答案 0 :(得分:0)

这是你可以做的事情。

右键单击工作表1选项卡,然后选择“查看代码”复制并粘贴此代码。

将表1中A列中的单元格更改为A,B或C,然后转到表2,看看发生了什么。

 Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        If Target = "A" Then Sheets("Sheet2").Range(Target.Address).Interior.ColorIndex = 3
        If Target = "B" Then Sheets("Sheet2").Range(Target.Address).Interior.ColorIndex = 4
        If Target = "C" Then Sheets("Sheet2").Range(Target.Address).Interior.ColorIndex = 5
    End If
End Sub