簡體   English   中英

停止關閉excel VBA宏

[英]stopping an excel VBA macro from closing

我已經寫了一些非常基本的VBA代碼來完成一個簡單的任務:提醒我填寫時間表(這是Excel表格)。 當我去辦公室,打開計算機並在“啟動”文件夾中放置Excel時,它為我工作了很多年。 但是,現在我的生活發生了一些變化,我使用筆記本電腦並且不傾向於將其關閉,因此宏不會啟動。

它的打開方式如下:

Private Sub Workbook_Open()
    Application.OnTime TimeValue("17:00:00"), "box"
    If TimeValue("17:00:00") < Time Then
       Run ("box")
    End If
    ActiveWindow.WindowState = xlMinimized
    Run ("morning")
End Sub

這是“盒子”:

Sub box()

    response = MsgBox("Have you filled in your timesheet?", vbYesNo, "timesheet")

    If response = vbYes Then
        ActiveWindow.WindowState = xlMinimized
    End If
    If response = vbNo Then
        Workbooks("timesheet2015 - GZ.xlsm").Activate
        ActiveWindow.WindowState = xlMaximized
    End If
End Sub

這是“早晨”

Sub morning()
    response = MsgBox("Did you fill in your timesheet yesterday?", vbYesNo, "timesheet")

    If response = vbYes Then End
    If response = vbNo Then
        Workbooks("timesheet2015 - GZ.xlsm").Activate
        ActiveWindow.WindowState = xlMaximized
    End If
End Sub

如果有一種方法可以阻止宏在運行一次后結束,那么我一直在努力。 我不想遇到巨大的無休止循環,否則會降低筆記本電腦的速度。 我敢肯定有一個簡單的方法可以做到,所以會很樂意您的幫助。

謝謝!

將時間表工作簿放在Excel的XLStart文件夾中。 每次打開Excel時,這將打開工作簿。 使用工作簿的_Open_Close事件處理程序來提示您填寫時間表嗎?

或者,將這些過程放在另一個隨Excel一起加載的工作簿或加載項中(也可能在XLStart或AddIns文件夾中),這樣您就不必永久保持打開文件。 您仍然可以將OnTime與后一種方法一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM