-1

使用 ontime 我想在每个月末激活宏。在这我可以把天设置为 31,但是有 30 天或像 2 月这样的月份呢?If Day(Now) = 1 Then Application.ontime TimeValue("6:30:00"), "monthly" End If

4

1 回答 1

0

所以,我会提出下一个方法。否则,必须有人处理文件并提交特定事件:

创建一些能够在特定时间(06:30:00)调用第二天所需的函数的事件:

Private Sub Workbook_Open()
   Application.OnTime TimeSerial(6, 30, 0), "DoSomething_Eomonth"
End Sub
Private Sub Workbook_SheetActivate(ByVal sh As Object)
   Application.OnTime TimeSerial(6, 30, 0), "DoSomething_Eomonth"
End Sub

确保在前几天打开讨论中的工作簿并且(也许)已经完成了一些工作。它必须保持打开状态

每日调用递归Sub将如下所示:

Sub DoSomething_EndOfMonth()
  If Day(Date + 1) = 1 Then
    'Do what is to be done
  Else
     Application.OnTime TimeSerial(6, 30, 0), "DoSomething_Eomonth"
  End If
End Sub
于 2020-08-10T12:52:50.657 回答