根据日期更改工作簿中工作表上的选项卡颜色

时间:2017-03-30 15:21:56

标签: excel vba excel-vba date

我有一个工作簿,其中包含对时间敏感的工作订单(每张工作表上的不同工作订单)。有时,本工作簿中可能有5到25张。在每个工作表的单元格H15中是工单的到期日。我正在尝试设置一个vba,当工作簿打开时,它将检查日期并在最后一天将工作表的选项卡更改为红色。我有一个我认为正确但不起作用的代码。我被告知尝试使用(Private Sub Workbook_Open()),但我似乎无法获得正确的编码,因此它会检查所有表格。

谢谢,

Private Sub Worksheet_Change(ByVal Target As Range)

   With ActiveSheet
      If Range("H15").Value = Date Then
         .Tab.ColorIndex = 3 'Red

      End If
   End With
End Sub

1 个答案:

答案 0 :(得分:3)

在ThisWorkbook模块中尝试此操作(并删除工作表更改代码)。 (回应Jeeped的评论,其他地方都会删除标签颜色。)

Private Sub Workbook_Open()

Dim ws As Worksheet

For Each ws In Worksheets
    If ws.Range("H15").Value = Date Then
       ws.Tab.ColorIndex = 3
    Else
       ws.Tab.ColorIndex = xlColorIndexNone
    End If
Next ws

End Sub
相关问题