2015-08-10 3 views
1

Я пытаюсь выяснить, как изменить этот код, чтобы он работал для меня. Я хочу в основном сказать, что если сегодня пятница и время 4:00 вечера или больше, то новое время - понедельник 7:00. Вот что у меня есть, но я не могу понять его ВРЕМЯ.Excel VBA Время и дата

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 
+0

Вы получаете сообщение об ошибке или он просто не прохождения, если. – MatthewD

+0

Ошибок нет, новое ВРЕМЯ неверно. Я не знаю, как это сделать «Дата + 3», а затем добавить новое время вместо текущего времени. – Noob2Java

+0

Я думаю, что я искал сто примеров, но не могу найти, где добавить дату, но всегда статично статично. – Noob2Java

ответ

0

Это немного многословно, но, кажется, работает:

If Weekday(modDropOff) = 6 And Hour(modDropOff) >= 16 Then 
    modDropOff = DateSerial(Year(modDropOff), Month(modDropOff), Day(modDropOff)) + 3 + TimeSerial(7, 0, 0) 
End If 
+0

Спасибо, студент Гэри ... это делает трюк. – Noob2Java

0

Некоторые способы редактирования даты:

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

  • Дата - текущая системная дата (дата часть только)
  • Теперь - текущая системная дата и время
  • год, месяц, MonthName, WeekDay, WeekdayName, день
  • час, минута, секунда
  • IsDate, CDate, DateSerial, DateValue, DateAdd, DateDiff, DatePart
  • Время, TimeSerial, Тим Evalue
  • FormatDateTime, Таймер
+0

Спасибо за помощь! Это работает. – Noob2Java

Смежные вопросы