The VBA Beep function lets you play a system beep sound whenever you like. This example macro shows you how to play a beep whenever an error is encountered in your code. VBA Beep usually comes through your speakers so make sure your volume is up.
VBA Beep and Display Message on Error
Sub SystemBeep() Dim i As Integer On Error GoTo errorhandle: i = "test" 'you can't assign a string to an integer! Exit Sub errorhandle: Application.EnableSound = True Beep MsgBox "Error #" & Err.Number & ": " & Err.Description End Sub
Write better macros in half the time
I see people struggling with Excel every day and I want to help. That's why I'm giving away my personal macro library for free. This powerful gift lets you automatically import all my macros directly into your spreadsheets with just one click.
This macro beeps and displays an error because I tried to assign a string to an integer data type. The
Application.EnableSound property ensures sound is enabled for Microsoft Office. Rarely is this necessary so you can often omit that line. Try it without the line if you get an error. It’s common to omit the line when playing system beeps outside of Excel, like in Microsoft Word.
This is just the tip of the iceberg. Soon, I’ll show demonstrate other VBA audio tricks, like how to get your computer to speak to you and how to control your volume with VBA. Stick around!
About The VBA Tutorials Blog
The VBA Tutorials Blog was created by Ryan Wells, a Nuclear Engineer and professional VBA Developer. He created this site to help others learn to write macros in Excel. That's why he developed a unique 3-part free Excel training program to help others quickly learn VBA in a natural setting: right inside Excel.Follow