How to create a yes no message box before running a macro in Excel?

In Excel, you can directly trigger a macro by pressing the F5 key or click the Run button in the Microsoft Visual Basic for Applications window. But, sometimes, you may want to create a message box that will ask the user if they want to run the macro. If yes, then continue running the code, if no, stop running the code. This article, I will talk about how to create a yes no message box before running a macro in Excel.

Create a yes no message box before running a macro with VBA code


Create a yes no message box before running a macro with VBA code


The following VBA code can help you to add a yes no prompt box to confirm if running a macro, please do with below steps:

1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following macro in the Module Window.

VBA code: Create a yes no message box before running a macro:

Sub continue()
CarryOn = MsgBox("Do you want to run this macro?", vbYesNo, "Kutools for Excel")
If CarryOn = vbYes Then
'put rest of code here
End If
End Sub

Note: In the above code, please copy and paste your own code without the Sub heading and End Sub footer between the If CarryOn = vbYes Then and End if scripts. See screenshot:

doc message box yes no macro 1

3. Then press F5 key, a prompt box will pop out to remind you if you want to run this code, click Yes button to continue, and click No to stop, see screenshot:

doc message box yes no macro 2


The Best Office Productivity Tools

Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
kte tab 201905

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!
officetab bottom
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    FEWQ · 9 months ago
    Or you use this code on top and there is no need to put the whole code inside an if sentence

    CarryOn = MsgBox("Do you want to run this macro?", vbYesNo, "Kutools for Excel")
    If CarryOn = vbNo Then
    Exit Sub
    End If