Delay a Macro in Excel
To execute a sub in Excel VBA after a specific time, use onTime, Now and the TimeValue function. First, place a sub into a module.
1. Open the Visual Basic Editor and click Insert, Module.
2. Add the following sub with name reminder:
MsgBox "Don't forget your meeting at 14:30"
End Sub
We want Excel VBA to execute this sub 5 seconds after a command button is clicked.
3. Place a command button on your worksheet and add the following code line:
4. Click the command button on the worksheet.
Result 5 seconds later:
5. If you want to execute this sub at a specific time, simply use the following code line:
6. Click the command button on the worksheet and wait until 14:00 (2:00 PM) to see your sub being executed.
Note: you will probably not use Excel VBA to remind yourself of an important meeting, but if you do, it's best to put a macro like this in a Workbook Open Event. By doing this, you will automatically receive a reminder at 14:00 (you don't have to click a command button to activate the macro). Of course, you will only receive the reminder when you leave your workbook open.
If you're new here, welcome to Excel Easy! Join over 1 million monthly Excel learners. You can find popular courses here: Data Analysis in Excel and Excel VBA.