定义检查同一单元格中两个日期和另一单元格中文本的行的颜色。Excel宏?
我有以下问题定义检查同一单元格中两个日期和另一单元格中文本的行的颜色。Excel宏?,excel,vba,date,Excel,Vba,Date,我有以下问题 ---------------------------------------------------------- Column1 | Column2 | Column3 | Column4 | Column5 ---------------------------------------------------------- Bla bla | 26/09/2011 10:00 | blabla | Complete| blabla |
----------------------------------------------------------
Column1 | Column2 | Column3 | Column4 | Column5
----------------------------------------------------------
Bla bla | 26/09/2011 10:00 | blabla | Complete| blabla
| | | |
bla bla | 26/09/2001 11:00 | blabla | |
----------------------------------------------------------
Bla bla | 26/09/2011 11:00 | blabla | | blabla
| | | |
bla bla | 26/09/2001 11:30 | blabla | |
----------------------------------------------------------
Bla bla | 26/09/2011 12:00 | blabla | Started | blabla
| | | |
bla bla | 26/09/2001 13:00 | blabla | |
----------------------------------------------------------
Bla bla | 26/09/2011 22:00 | blabla | | blabla
| | | |
bla bla | 26/09/2001 23:00 | blabla | |
----------------------------------------------------------
在**第2列中,每个单元格有两个日期和时间(何时开始和何时结束),在第4列中,我有任务的状态
设置行颜色的条件基于Column2和Column4
颜色代码将模拟交通灯,绿色表示正常,橙色表示有意识,红色表示坏
若第2列中单元格的第一个日期大于当前日期,则颜色行为橙色
如果第2列中单元格的第一个日期大于当前日期,且第4列为“开始”,则颜色行为绿色
如果第2列中单元格的第二个日期大于当前日期,并且第4列中的文本不“完整”,则颜色行为红色。如果文本为“完整”,则将行颜色设为绿色
还有一件事要考虑的是第二次约会不是一个日期,而是像TBC和其他事情的文本…
我知道如果单元格上只有一个日期时间,我可以使用条件格式,因为同一单元格上有两个日期,我想我需要excel宏专家的帮助
提前谢谢。好的,我读到你的请求时有点困惑,但基本上,如果时间/日期从第一秒到第二秒不同,你希望有条件地格式化单元格 您需要的是以下内容
With Worksheets("Sheet1")
If .Range("B2") > Now And .Range("D2") <> "Started" Then
.Range("B2").Interior.Color = vbOrange
Else
.Range("B2").Interior.Color = vbGreen
End If
End with
与工作表(“表1”)
如果.Range(“B2”)>现在和.Range(“D2”)“开始”,则
.Range(“B2”).Interior.Color=vbOrange
其他的
.Range(“B2”).Interior.Color=vbGreen
如果结束
以
现在,如果你不舒服或不习惯VBA,这就有点复杂了。但基本上,您可以更改范围和工作表名称以执行任何需要的操作。“Interior.Color”功能将与vbGreen、vbRed、vbOrange和其他一些功能一起使用。足够满足你的需要了
希望这能让你开始。如果您需要更多帮助,请告诉我。您可以使用条件格式: 例如,对于单元B2,使用以下公式
=DATEVALUE(LEFT(B2,FIND(CHAR(10),B2)-1))>NOW()
对于单元格中大于当前值的第一个日期
=DATEVALUE(MID(B9,FIND(CHAR(10),B9)+1,99))>NOW()
对于单元格中大于当前值的第二个日期
=DATEVALUE(MID(B9,FIND(CHAR(10),B9)+1,99))>NOW()
其余的(分层条件,考虑状态)应该是直截了当的谢谢,我似乎没有充分解释我自己。第一,同一单元格中有两个日期(我如何检查?)第二,我想给行上色,而不是给列上色。谢谢你的尝试。谢谢,这只适用于日期,而不是检查时间。你知道为什么吗?@Amra-Datevalue按照tin上的说明:获取日期。YOU需要向其添加TimrValue以获取日期和时间`DATEVALUE(左(B2,FIND(CHAR(10),B2)-1))+TIMEVALUE(左(B2,FIND(CHAR(10),B2)-1))>NOW()