[英]Excel VBA Time and Date
我试图弄清楚如何更改此代码,以便它可以满足我的需要。 我想说的是,如果今天是星期五,时间是4:00 PM或更大,那么新时间是星期一7:00 AM。 这是我所拥有的,但我无法弄清楚它的“时间”部分。
modDropOff = Now
LHour = Hour("4:00:00 PM")
LNewHour = Hour("07:00:00 AM")
If Weekday(Date) = vbFriday And Now() >= LHour Then
modDropOff = Date + 3 <<< + LNewHour
End If
这有点费劲,但似乎可行:
If Weekday(modDropOff) = 6 And Hour(modDropOff) >= 16 Then
modDropOff = DateSerial(Year(modDropOff), Month(modDropOff), Day(modDropOff)) + 3 + TimeSerial(7, 0, 0)
End If
一些编辑日期的方法:
Option Explicit
Public Sub checkDate()
Dim modDropOff As Date
If Weekday(Now) = 2 And Hour(Now) >= 16 Then
modDropOff = (Date + 3) + TimeValue("07:00:00 AM")
Else
modDropOff = Now
End If
MsgBox Format(modDropOff, "ddd mmm dd, yyyy - hh:mm:ss AMPM")
End Sub
Public Sub editDate()
Dim modDropOff As Date
If Weekday(Now) = 2 And Hour(Now) >= 16 Then
modDropOff = DateAdd("d", 3, Now)
modDropOff = DateSerial(Year(Now), Month(Now), Day(Now) + 3) + TimeSerial(7, 0, 0)
Else
modDropOff = Time
End If
MsgBox Format(xDate, "ddd mmm dd, yyyy - hh:mm:ss AMPM")
End Sub
。
其他VBA日期和时间功能
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.