日期验证/打开工作簿VBA

时间:2015-05-21 15:47:35

标签: excel vba excel-vba conditional-statements

我有一个工作簿,我试图在工作簿打开时设置电子邮件通知。我打算触发通知的方法之一是基于日期验证。我试图找出一个VBA解决方案,用于刷新特定单元格的日期值,具体取决于一周中的几天。我有一行7个单元格(每个代表星期日 - 星期六),我正在试图找出一个子,它将填充这些单元格中的日期,因为它们与今天的日期相对应。例如,如果今天=星期四,子将知道TODAY()= 05/21/2015并且这是将在单元格5中的起始日期,然后它可以根据它们的距离来确定其他日期是什么5 ...这样的事情可行吗?我最初在大量的条件公式中工作但是试图处理这么多列的公式会变得混乱,这些公式可以检查和平衡彼此,这似乎是一个很好的追求...

我正在尝试勾画出sub需要看的内容,但我对如何在VBA中引用日期的经验很少。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

将此内容放入Thisworkbook模块

private sub workbook_open
Dim dayOfWeek As String
Dim i As Integer

dayOfWeek = Weekday(Date)

Select Case dayOfWeek

Case "1"
For i = 1 To 7
Cells(1, i).Value = Date + i - 1
Next i

Case "2"
For i = 1 To 7

Cells(1, i).Value = Date + i - 2
Next i
Case "3"

For i = 1 To 7
Cells(1, i).Value = Date + i - 3
Next i

Case "4"
For i = 1 To 7
Cells(1, i).Value = Date + i - 4
Next i

Case "5"
For i = 1 To 7
Cells(1, i).Value = Date + i - 5
Next i

Case "6"

For i = 1 To 7
Cells(1, i).Value = Date + i - 6
Next i

Case "7"

For i = 1 To 7
Cells(1, i).Value = Date + i - 7
Next i

End Select
End Sub