Sub set_clock() game_time = TimeValue("00:00:31") start_count_down End Sub Sub set_number_of_flashes() max_number_of_flashes = 2 End Sub Sub start_count_down() Application.OnTime Now + TimeValue("00:00:01"), "start_count_down" count_down_running = 1 Select Case loops Case 3 finish_time = Now + game_time Application.OnTime Now + TimeValue("00:00:01"), "start_count_down", schedule:=False Application.OnTime Now + TimeValue("00:00:01"), "count_down" loops = 0 End Select loops = loops + 1 End Sub Sub count_down() Dim time1, minutes, seconds As String Application.OnTime Now + TimeValue("00:00:01"), "count_down" count_down_running = 0 time = finish_time - Now minutes = Str(Minute(time)) seconds = Str(Second(time)) If Len(minutes) = 2 Then minutes = "0" + Right(minutes, 1) Else minutes = Right(minutes, 2) End If If Len(seconds) = 2 Then seconds = "0" + Right(seconds, 1) Else seconds = Right(seconds, 2) End If time1 = minutes + ":" + seconds window1.Label1 = time1 If time1 = "00:00" Then Application.OnTime Now + TimeValue("00:00:01"), "count_down", schedule:=False set_number_of_flashes flash_on = 1 flash End If End Sub Sub flash() flash_running = 1 If flash_on = 0 Then flash_on = 1 window1.Label1 = "" Application.OnTime Now + TimeValue("00:00:01"), "flash" Else If number_of_flashes < max_number_of_flashes Then flash_on = 0 window1.Label1 = "00:00" number_of_flashes = number_of_flashes + 1 Application.OnTime Now + TimeValue("00:00:01"), "flash" Else number_of_flashes = 0 flash_running = 0 End If End If End Sub Sub show_timer() window1.Show End Sub