[英]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.