如果单元格值包含今天的日期,则此子单元将闪烁 . 当我从VBA编辑器单击运行时,我可以打开其他用户表单或正常使用该项目 . 当我尝试另一个子调用transnotification子我无法让程序回退给用户时,必须从VBA编辑器停止sub . 我已经将DoEvents放在do while循环的几个部分中但没有成功 . 请帮忙!谢谢 .

Public flash As Boolean
Sub TransNotification()
    Dim dateexists As Integer
    Dim rightnow As String

    rightnow = Format(Now(), "mm/dd/yy")
    dateexists = InStr(1, Sheet2.Range("R64").Value, rightnow)
    If dateexists <> 0 Then
        flash = True
    End If
    Sheet2.Unprotect
    Do While flash

        Sheet2.Range("R64").Interior.Color = RGB(39, 70, 32)
        WasteTime (1500)
        Sheet2.Range("R64").Interior.Color = RGB(50, 50, 50)
        WasteTime (1000)

        rightnow = Format(Now(), "mm/dd/yy")
        dateexists = InStr(1, Sheet2.Range("R64").Value, rightnow)
        If dateexists = 0 Then
            flash = False
        End If

    Loop
    Sheet2.Unprotect
    Sheet2.Range("R64").Interior.Color = RGB(50, 50, 50)
    Sheet2.Protect
End Sub

Sub WasteTime(Finish As Long)
    Dim NowTick As Long
    Dim EndTick As Long

    EndTick = GetTickCount + Finish

    Do
        NowTick = GetTickCount
        DoEvents
    Loop Until NowTick >= EndTick
End Sub