簡體   English   中英

Excel VBA時間和日期

[英]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日期和時間功能

  • 日期-當前系統日期(僅日期部分)
  • 現在-當前系統日期和時間
  • 年,月,月名稱,周日,周日名稱,天
  • 時,分,秒
  • IsDate,CDate,DateSerial,DateValue,DateAdd,DateDiff,DatePart
  • 時間,時間序列,時間值
  • FormatDateTime,計時器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM