Try:
Dim NewHour As Integer
Dim NewMinute As Integer
Dim NewSecond As Integer
NewHour = Hour(Now())
NewMinute = Minute(Now())
NewSecond = Second(Now()) + 30
Application.Wait TimeSerial(NewHour, NewMinute, NewSecond)
"Peter Rooney" wrote:
> Good afternoon,
>
> Can anyone explain why the following code doesn't take 30 seconds to run...
> or when called from within another macro, doesn't delay macro execution by 30
> seconds?
>
> Thanks in advance
>
> Sub HoldOnABit()
>
> Dim NewHour As Integer
> Dim NewMinute As Long
> Dim NewSecond As Long
> Dim WaitTime As Long
>
> NewHour = Hour(Now())
> NewMinute = Minute(Now())
> NewSecond = Second(Now()) + 30
> WaitTime = TimeSerial(NewHour, NewMinute, NewSecond)
>
> Application.Wait WaitTime
>
> End Sub
>
>
> Pete
>
>
Bookmarks