이 글에서는 엑셀(Excel)에서 알람 시계를 설정하는 방법을 단계별로 소개합니다. 엑셀로 작업하다 보면 특정 시간에 중요한 일정을 상기시켜야 할 때가 있습니다. 그런데 엑셀 자체에는 기본적인 알람 기능이 없기 때문에 VBA 매크로를 활용해야 합니다. 이번 포스팅에서는 다양한 방식으로 엑셀 알람을 구현하는 방법을 정리했으니, 끝까지 읽고 실무에 바로 적용해 보세요.
엑셀에서 알람 시계를 설정하는 3가지 방법
여기서는 엑셀에서 알람을 설정할 수 있는 효과적인 3가지 방법을 예시와 함께 설명합니다.
- 첫 번째 방법: '삐' 소리 3번으로 알려주는 비프음 알람
- 두 번째 방법: 원하는 음악 파일로 알려주는 사용자 지정 사운드 알람
- 세 번째 방법: 가장 흥미로운 방법으로, 알람 시간이 되면 메시지 박스를 띄우고 음성으로 메시지를 읽어 주는 알람
그럼 하나씩 살펴보겠습니다.
1. 비프음(Beep)으로 알람 설정하기
첫 번째 방법은 VBA 모듈을 실행하여 알람 시간이 되면 '삐' 소리 세 번을 울리는 알람을 만드는 것입니다. 아래 단계를 순서대로 따라 해 보세요.
진행 순서:
- 먼저 Alt + F11 키를 눌러 VBA 편집기(Visual Basic Editor)를 엽니다. 또는 개발 도구 탭에서 Visual Basic을 클릭해도 됩니다.

- 상단 메뉴에서 삽입 >> 모듈을 선택하여 새 모듈을 추가합니다.

- 새로 만든 모듈에 아래 코드를 입력합니다.
'Alarm with beep sound
Sub Beep_Alarm()
Dim beepat As String
beepat = InputBox("Give Alarm at", "hh:mm:ss " & _
Format(Now, "mm:hh"), "23:30")
If beepat = "" Then
MsgBox "terminated"
Exit Sub
End If
Application.OnTime TimeValue(beepat), "Beep_Me"
End Sub
Sub beep_me()
Beep
Application.OnTime (Now + TimeSerial(0, 0, 0.8)), "beep_me2"
End Sub
Sub beep_me2()
Beep
Application.OnTime (Now + TimeSerial(0, 0, 0.8)), "beep_me3"
End Sub
Sub beep_me3()
Beep
End Sub

🗝️ 코드 작동 원리
먼저 Beep_Alarm이라는 서브루틴(Sub 프로시저)을 선언합니다. 그다음 beepat이라는 변수를 선언하고 여기에 InputBox(입력 상자)를 연결합니다. InputBox에는 따옴표 안의 문구가 화면에 표시되며, 사용자가 알람 시간을 입력하게 됩니다. 이후 TimeValue 함수를 통해 지정된 시간에 Beep_Me 서브루틴을 호출하고, 이 서브루틴은 다시 beep_me2, beep_me3를 차례로 호출합니다. 결과적으로 알람 시간이 되면 세 개의 서브루틴이 실행되며 총 세 번의 비프음이 울립니다.
- 코드 작성이 끝나면 상단의 실행(Run) 버튼을 클릭하거나 F5 키를 눌러 코드를 실행합니다.

- 그러면 알람 시간을 입력하는 창이 나타납니다. 반드시 24시간 형식으로 시간을 입력하세요. (예: 오후 11시 30분 → 23:30)

- 시간을 설정해 두면 어떻게 될까요? 지정한 알람 시각에 딱 3번의 비프음이 울리는 것을 확인할 수 있습니다.
이렇게 간단한 코드만으로 엑셀에서 비프음 알람을 구현할 수 있습니다.
함께 읽으면 좋은 글: 엑셀로 디지털 시계 만드는 방법
2. 사용자 지정 사운드로 알람 설정하기
두 번째 방법은 좋아하는 음악이나 원하는 사용자 지정 소리를 알람음으로 사용하는 방법입니다. 아래 단계를 참고해 진행해 보세요.
진행 순서:
- 첫 번째 방법과 마찬가지로 VBA 창에서 새 모듈을 삽입합니다.
- 모듈에 아래 코드를 입력합니다.
'Alarm with Custom Sound
#If Win64 Then
Private Declare PtrSafe Function Play_Sound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal AA_lpszName As String, _
ByVal AA_Module As LongPtr, ByVal AA_Flags As Long) As Boolean
#Else
Private Declare Function Play_Sound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal AA_lpszName As String, _
ByVal AA_Module As Long, ByVal AA_Flags As Long) As Boolean
#End If
Const AA_SND_SYNC = &H0
Const AA_SND_ASYNC = &H1
Const AA_SND_FILENAME = &H20000
Sub CustomSound_Alarm()
Dim beepat As String
beepat = InputBox("Give Alarm at", "hh:mm:ss " & _
Format(Now, "mm:hh"), "11:30")
If beepat = "" Then
MsgBox "Terminated"
Exit Sub
End If
Application.OnTime TimeValue(beepat), "AlarmSound2"
End Sub
Sub AlarmSound2()
Call Play_Sound("F:\90_Aniruddah\90_57\alarm1.wav", _
0, AA_SND_ASYNC Or AA_SND_FILENAME)
End Sub

🗝️ 코드 작동 원리
이 코드에서는 먼저 Windows 64비트와 그 외 버전을 위해 두 개의 전용 함수를 각각 선언합니다. 이어서 SND_SYNC, SND_ASYNC, SND_FILENAME이라는 3개의 상수를 선언한 뒤, CustomSound_Alarm 서브루틴을 만듭니다. 이 서브루틴 내부에서 beepat 변수를 통해 InputBox로 알람 시간을 받고, TimeValue 애플리케이션을 이용해 지정된 시간에 AlarmSound2 서브루틴을 호출합니다. AlarmSound2는 로컬에 저장된 오디오 파일을 재생하는 역할을 하며, 위 코드에서는 F:\90_Aniruddah\90_57\alarm1.wav 경로의 파일을 재생하도록 설정되어 있습니다.
- 코드에서 F:\90_Aniruddah\90_57\alarm1.wav 부분은 본인의 사운드 파일 경로로 변경해야 합니다. 윈도우 파일 탐색기에서 해당 파일을 마우스 오른쪽 버튼으로 클릭한 후 주소를 복사해서 붙여 넣으면 됩니다.
- F5 키를 눌러 코드를 실행하면 알람 시간을 묻는 메시지 상자가 나타납니다. 시간을 24시간 형식으로 입력하고 확인을 클릭하세요.

- 설정이 완료되면 알람 시간이 되었을 때 직접 지정한 사용자 지정 사운드가 재생됩니다.
3. 메시지 표시 및 음성 안내 알람 설정하기
알람과 동시에 특정 메시지를 확인해야 하는 경우가 많습니다. 세 번째 방법은 알람 시간이 되면 맞춤 메시지가 담긴 메시지 상자를 화면에 표시하고, 심지어 그 메시지를 음성으로 읽어 주는 기능까지 구현하는 것입니다. 흥미롭지 않나요? 아래 단계를 따라 해 보세요.
진행 순서:
- 앞선 두 방법과 동일하게 VBA 창을 열고 새 모듈을 삽입합니다.
- 모듈에 아래 코드를 입력합니다.
' Alarm with Message
Sub Reading_Message_Alarm()
Dim beepat As String
beepat = InputBox("Give Alarm at", "hh:mm:ss " & _
Format(Now, "mm:hh"), "11:30")
If beepat = "" Then
MsgBox "Terminated"
Exit Sub
End If
Application.OnTime TimeValue(beepat), "DisplayAlarm"
End Sub
Sub DisplayAlarm()
Application.Speech.Speak ("This is the message that will be read out during alarm time.")
MsgBox "This is the message that will be displayed in the messagebox"
End Sub

🗝️ 코드 작동 원리
먼저 Reading_Message_Alarm이라는 서브루틴을 선언하고, beepat 변수를 통해 알람 시간을 입력받는 InputBox를 할당합니다. 입력된 시간을 기준으로 TimeValue 애플리케이션이 DisplayAlarm 서브루틴을 호출하며, 이 서브루틴은 Application.Speech.Speak 구문으로 메시지를 소리 내어 읽은 후 MsgBox로 메시지를 화면에 표시합니다. 괄호 안의 영문 문구를 원하는 한국어 메시지로 바꾸면 자신만의 알림을 만들 수 있습니다.
- F5 키를 눌러 코드를 실행하면 창이 열리고, 여기에 알람 시간을 입력한 후 확인을 누릅니다.

- 알람 시간이 되면 먼저 메시지가 음성으로 읽혀지고, 이어서 아래 그림처럼 메시지 상자가 화면에 표시됩니다.

함께 읽으면 좋은 글: 엑셀로 흐르는 시계 만들기
꼭 기억해야 할 사항
- 사용자 지정 알람음을 재생하려면 반드시 .wav 형식의 파일을 사용해야 합니다. MP3 파일은 이 방식에서 정상적으로 작동하지 않을 수 있으니 주의하세요.
- 매크로가 포함된 통합 문서를 저장하려면 일반 .xlsx가 아닌 .xlsm(매크로 사용 통합 문서) 형식으로 저장해야 코드가 유지됩니다.
- 파일을 닫거나 엑셀을 종료하면 예약된 알람도 함께 사라지므로, 알람이 필요한 동안에는 엑셀을 열어 두어야 합니다.
마무리
지금까지 엑셀에서 알람 시계를 설정하는 다양한 방법을 살펴봤습니다. 비프음부터 사용자 지정 사운드, 그리고 음성 안내 메시지까지 상황에 맞게 활용해 보세요. 이 글이 도움이 되었다면 주변 지인에게도 공유해 주시고, 추가로 궁금한 점이 있다면 언제든지 문의해 주세요. 더 유익한 엑셀 활용 팁은 Exeldemy에서 계속 만나보실 수 있습니다.
관련 글
- 엑셀로 시계 차트 만드는 방법
- VBA 코드로 엑셀 디지털 시계 만들기
- 엑셀에서 아날로그 시계 만들기
- 엑셀 VBA 사용자 폼(UserForm) 디지털 시계 완벽 가이드