![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
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代码 展开
我想判断当H列的值为上班的时候,G列里的yyyy-mm-dd 08:00 之后,单元格改为红色。
麻烦给出完整的VBA代码 展开
2个回答
展开全部
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(结束行)
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(结束行)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询