How to create a message box timer to auto close the message box after certain time in Excel?
You may use VBA script frequently to solve problems while using Excel workbook. And there will be message boxes popped up during the script running. In some cases, you would like some specified message boxes to be closed automatically after a certain time rather than close it manually. In this article, we will show you method of creating a message box timer to auto close the message box after certain time in Excel.
Recommended Productivity Tools for Excel
Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial
Kutools for Excel: Save 71% of your time and solve 82% Excel problems for you. 300+ advanced tools designed for 1500+ work scenario, make Excel much easy and increase productivity immediately.60-day Unlimited Free Trial
Here provides a VBA script template for you to create a message box timer.
Supposing you are running VBA script to convert all cell references of specified formula cells to absolute. After converting successfully, you need a message box pop up to tell you the success of the conversion, and this message box should be closed automatically after 4 seconds (see below screenshot). Please do as follows.
1. Open the Microsoft Visual Basic for Applications window, then insert your used VBA script into the corresponding module.
2. Go ahead to add the following message box timer template script to your script.
VBA script: Create a message box timer to auto dismiss message box after certain time
'The first part #If Win64 Then '64? Private Declare PtrSafe Function MsgBoxTimeout _ Lib "user32" _ Alias "MessageBoxTimeoutA" ( _ ByVal hwnd As LongPtr, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal wType As VbMsgBoxStyle, _ ByVal wlange As Long, _ ByVal dwTimeout As Long) _ As Long #Else Private Declare Function MsgBoxTimeout _ Lib "user32" _ Alias "MessageBoxTimeoutA" ( _ ByVal hwnd As Long, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal wType As VbMsgBoxStyle, _ ByVal wlange As Long, _ ByVal dwTimeout As Long) _ As Long #End If 'The second part Sub btnMsgbox() Call MsgBoxTimeout(0, "This message box will be closed after 4 seconds ", "Kutools for Excel", vbInformation, 0, 4000) End Sub
3. Copy the first part of the above VBA code and paste before your code. Then copy and paste the below script of the second part to replace the original script in your code where you need the message box pop up.
MsgBoxTimeout 0, "Converted complete (This message box will be closed after 4 seconds)", "Kutools for Excel", vbInformation, 0, 4000
Note: In this case, I need the message box pop up finally after the conversion successful. So I place this part of script at the end of the code. See screenshot:
You can change the content of the message box as you need.
4. Press the F5 key to run the code. The specified message box will pop up after the conversion. And this message box will be closed automatically after 4 seconds.
- How to pop up message box when clicking on a certain cell in Excel?
- How to copy text from message box in Excel?
- How to pop up a message box upon activating/opening a specified worksheet in Excel?
- How to pop up message box to display range of cells or cell values in Excel?
- How to pop up message box if cell value changes within a range in Excel?