EXCEL VBA的问题。判断时间区间。 10

我的EXCEL有H列,分为上班,下班,外出等选项。G列是打卡机导出的时间,格式为yyyy-mm-ddhh:mm。我想判断当H列的值为上班的时候,G列里的yyyy-mm-d... 我的EXCEL有H列,分为上班,下班,外出等选项。G列是打卡机导出的时间,格式为yyyy-mm-dd hh:mm。

我想判断当H列的值为上班的时候,G列里的yyyy-mm-dd 08:00 之后,单元格改为红色。

麻烦给出完整的VBA代码
展开
 我来答
yhhzhengyi
2012-11-14 · TA获得超过477个赞
知道小有建树答主
回答量:1167
采纳率:0%
帮助的人:313万
展开全部
Dim i As Long
Dim timeS As String

For i = 1 To 10
If Trim(Range("H" & i).Value) = "上班" Then
timeS = Trim(Range("G" & i).Value)
If IsDate(timeS) Then
If TimeValue(timeS) > TimeValue("08:00") Then
Range("G" & i).Interior.Color = vbRed
End If
Else
MsgBox Range("G" & i).Address(0, 0) & "不是日期格式!", vbOKOnly + vbMsgBoxSetForeground, "数据格式错误"
End If
End If
Next i

已经测试,成功运行。测试时1~10行,LZ可以修改行数,行数修改地方: For i = 1(开始行) To 10(结束行)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰爽哈啤酒
2012-11-05 · TA获得超过432个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:348万
展开全部
不必用vba,用条件格式就行

选中G列,打开条件格式,规则类型选公式,把下面公式粘贴上去
=and(H1="上班",TIME(HOUR(G1),MINUTE(G1),SECOND(G1))>TIMEVALUE("8:00:00"))

点“格式”按钮--“填充”,选择红色
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式