How to trigger the `Beep` function a second time in VBA

I’ve built a dynamic to-do scheduler that allows the user to input tasks alongside their respective start times.

The clock runs in real time, and conditional formatting is used to highlight the current task in green. When the clock gets to n number of seconds (according to WarningSeconds) before the start time of the next task, the current task turns red, and the Beep sound plays five times.

Then, when the next task kicks in, it turns green and the previous one gets crossed out. That’s great, but I want the Beep to play five times at the start of the new task as well. I’ve tried various things, but none of my implementations work.

What can I add to my code to get this working?

Check out the example here: https://postimg.cc/xkpnPH4R.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<code>#If VBA7 Then
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
Public IsRunning As Boolean
Public AlarmCounter As Integer
Sub StartStopClock()
IsRunning = Not IsRunning
AlarmCounter = 0 ' Initialise the counter
' Start the timer
TimerLoop
End Sub
Sub TimerLoop()
On Error Resume Next
Do While IsRunning
DoEvents
Sheet1.Range("Clock").Value = TimeValue(Now)
If AlarmCounter < 5 Then
ActivateAlarm
End If
Loop
End Sub
Sub ActivateAlarm()
If Range("WarningAlert").Value = True Then
Beep
Sleep (1000)
AlarmCounter = AlarmCounter + 1 ' Increment the counter
End If
End Sub
</code>
<code>#If VBA7 Then Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) #Else Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) #End If Public IsRunning As Boolean Public AlarmCounter As Integer Sub StartStopClock() IsRunning = Not IsRunning AlarmCounter = 0 ' Initialise the counter ' Start the timer TimerLoop End Sub Sub TimerLoop() On Error Resume Next Do While IsRunning DoEvents Sheet1.Range("Clock").Value = TimeValue(Now) If AlarmCounter < 5 Then ActivateAlarm End If Loop End Sub Sub ActivateAlarm() If Range("WarningAlert").Value = True Then Beep Sleep (1000) AlarmCounter = AlarmCounter + 1 ' Increment the counter End If End Sub </code>
#If VBA7 Then
    Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Public IsRunning As Boolean
Public AlarmCounter As Integer

Sub StartStopClock()
        IsRunning = Not IsRunning
        AlarmCounter = 0 ' Initialise the counter
        ' Start the timer
        TimerLoop
End Sub

Sub TimerLoop()
    On Error Resume Next
    Do While IsRunning
        DoEvents
        Sheet1.Range("Clock").Value = TimeValue(Now)
        If AlarmCounter < 5 Then
            ActivateAlarm
        End If
    Loop
End Sub

Sub ActivateAlarm()
    If Range("WarningAlert").Value = True Then
        Beep
        Sleep (1000)
        AlarmCounter = AlarmCounter + 1 ' Increment the counter
    End If
End Sub

The formula for WarningAlert is:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<code>=AND(Clock>=ROUND(MINIFS(tblTask[Time],tblTask[Time],">"&Clock)-TIME(0,0,WarningSeconds),10),Clock<MAX(tblTask[Time]))
</code>
<code>=AND(Clock>=ROUND(MINIFS(tblTask[Time],tblTask[Time],">"&Clock)-TIME(0,0,WarningSeconds),10),Clock<MAX(tblTask[Time])) </code>
=AND(Clock>=ROUND(MINIFS(tblTask[Time],tblTask[Time],">"&Clock)-TIME(0,0,WarningSeconds),10),Clock<MAX(tblTask[Time]))

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật