How to use time delay after running a VBA macro in Excel?
In some cases, you may need to make a timer delay for triggering a VBA Macro in Excel. For example, when clicking to run a specified macro, it will take effect after 10 seconds. This article will show you a method to achieve it.
Here I recommend you to run a specified Macro by clicking on a Command Button in Excel. You can add the timer delay code into the Command Button for delaying to run the Macro. Please do as follows.
1. Click Developer > Insert > Command Button (ActiveX Control), and insert a Command Button into your worksheet. See screenshot:
2. After inserting the Command Button, right click on it and then select View Code from the context menu. See screenshot:
3. In the popping up Microsoft Visual Basic for Applications window, please enter the below timer delay VBA code between the two lines of the original code in the Code window as below screenshot shown:
VBA code: timer delay
Application.OnTime Now() + TimeValue("00:00:10"), "Cheezy"
Note: In the code, 00:00:10 is the delay time, and Cheezy is the Macro name you will run. Please change them based on your needs
4. Press the Alt + Q keys to close the Microsoft Visual Basic for Applications window.
5. Turn off the Design Mode by clicking Developer > Design Mode. See screenshot:
From now on, when clicking on the Command Button, the specified Macro will take effect after 10 seconds in Excel.
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!