Excel VBA根据当前时间高亮显示单元格

Excel VBA根据当前时间高亮显示单元格,excel,vba,gantt-chart,Excel,Vba,Gantt Chart,我有一行单元格重复“第一班”、“第二班”和“第三班”。表格上的第一行是全年的日期。我已经有代码将文件打开到特定日期(总是当前日期的前一天),并以蓝色突出显示当前日期。我试图让当前的转变也突出同样的蓝色阴影。因此,如果在上午7点查看工作表,则当前日期下仅显示“1st shift”的单元格将高亮显示,如果在下午3点查看,则当前日期下显示“2rd shift”的单元格将高亮显示,依此类推 感谢您的帮助 Private子工作簿\u Open() 对于I=1到1700 如果单元格(1,I).Value=D

我有一行单元格重复“第一班”、“第二班”和“第三班”。表格上的第一行是全年的日期。我已经有代码将文件打开到特定日期(总是当前日期的前一天),并以蓝色突出显示当前日期。我试图让当前的转变也突出同样的蓝色阴影。因此,如果在上午7点查看工作表,则当前日期下仅显示“1st shift”的单元格将高亮显示,如果在下午3点查看,则当前日期下显示“2rd shift”的单元格将高亮显示,依此类推

感谢您的帮助

Private子工作簿\u Open()
对于I=1到1700
如果单元格(1,I).Value=Date-1,则
ActiveWindow.ScrollColumn=I
如果结束
下一个
对于I=1到1700
如果单元格(1,I).值=日期,则
单元格(1,I).Interior.ColorIndex=28
单元格(2,I).Interior.ColorIndex=28
如果结束
下一个
端接头

由于您的VBA提到了
1700
,我假设您的班次分别在1:00、9:00和17:00开始

可以对以下公式使用条件格式:

第一班:

=AND(NOW()-TODAY()>1/24,NOW()-TODAY()<9/24)

=AND(NOW()-TODAY()>1/24,NOW()-TODAY()9/24,NOW()-TODAY()17/24,NOW()-TODAY()我认为使用条件格式可以实现这一点。轮班的小时截止时间是多少?请注意,所讨论的日期“始终是当前日期的前一天。”我在使用条件格式时遇到的问题是,所有相关的班次单元格都会高亮显示,而不仅仅是当前日期的班次。VBA中引用的前一天是打开工作簿到当前日期的前一天,因此前一天的日程安排仍然可见。
=AND(NOW()-TODAY()>9/24,NOW()-TODAY()<17/24)
=OR(NOW()-TODAY()>17/24,NOW()-TODAY()<1/24)