안녕하세요.
Option Explicit
' 아래 Schedule1() 는 매크로 실행버튼을 만들어 동작시키려고 합니다. 
'해당칸에 3이 입력되면 "일어나라"는 메세지박스 출력이 2초후 실행됩니다.
' 네. 아무 문제없이 잘 실행됩니다. 질문은 실행버튼 말고, 셀안 조건식인데요. 

Sub Schedule1()
        Dim i As Integer
        i = Range("G12").Value
        
        If i = 3 Then
            Application.OnTime Now + TimeValue("00:00:02"), "disp_msg"
        End If
End Sub


' 여기서부터 질문입니다.
' 아래 Schedule3() 는 매크로 실행버튼말고 
' 셀에 조건식을 넣어서 매크로를 실행시키려 합니다. 아래와 같이 셀에 입력
'      =IF(E12=3,Schedule3(),"X")  
'   E12=3 입력시 아래 매크로가 실행. "일어나라"는 메세지박스 출력이 2초후 되어야 하는데
' 아무 반응이 없습니다.   
' 뭐가 잘못된건지 이유와 해결책을 알고 싶습니다. 


Sub Schedule3()
            Application.OnTime Now + TimeValue("00:00:02"), "disp_msg"
End Sub

Sub disp_msg()
    MsgBox "일어날 시간입니다"
End Sub

위 코드에 제 질문을 넣었습니다.

파일도 첨부합니다.