自动提醒本月的第一个工作日

我有一个Excel工具,每天都有很多人使用,每个月他们都需要运行一个macros来将数据报告给一个中心点。

打开文档时,有没有办法可以调用这样的macros?

您将如何在Workbook_Open事件中执行此操作? 你会使它可选或给用户没有select(例如,在当天自动提交?)

这可能会帮助我追逐每月的人

作为一个方面说明,如果我给了用户“select” – 是否有一种提醒他们的粗略方法? 例如,如果answer = vbNo然后范围(“A1”)=“1”,然后在工作簿中打开一个if语句,直到他们按yes,将范围(“A1”)设置为0或类似?

谢谢

你在正确的轨道上。

在工作簿中使用A1:A12中列出的月末date制作reference工作表,然后将此代码放在Workbook_Open事件中。

 Private Sub Workbook_Open() Dim dDate as Date dDate = Application.WorksheetFunction.EoMonth(Date, 0) With Worksheets("reference") Dim rFound As Range Set rFound = .Range("A1:A12").Find(dDate, lookat:=xlWhole, LookIn:=xlValues) If Not rFound Is Nothing Then If rFound.Offset(, 1) = 0 Then Dim ret As Variant ret = MsgBox("Would you like to submit data now?", vbYesNo) If ret = vbYes Then 'run macro to submit data rFound.Offset(, 1) = 1 'you may want to set this cell to 1 also if the user submits data manually so it knows for next time Else 'set to zero to check for next time rFound.Offset(, 1) = 0 End If End If End If End With End Sub 

这对用户来说是可选的,但每次打开书本时都会反复询问他们,直到他们提交该月份。 然后等到下个月再问一次。

使它在给定的一天自动提交的问题是,如果用户从不在当天打开工作簿,该怎么办?