我有一个工作簿,其中包含对时间敏感的工作订单(每张工作表上的不同工作订单)。有时,本工作簿中可能有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
答案 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