我想问一下VBA中的for循环, 如果当前日期是CheckDate1,2,3,4,5,6,我有下面的脚本提醒(“提醒”是一个子功能)我... 我想问我是否需要添加更多日期,我可以使用for循环来包含所有CheckDate而不是添加更多ElseIf函数吗?
抱歉我的英语不好,非常感谢!
Dim dtmMyDate As Date
Const CheckDate1 = #1/9/2018#
Const CheckDate2 = #1/11/2018#
Const CheckDate3 = #1/16/2018#
Const CheckDate4 = #1/18/2018#
Const CheckDate5 = #1/23/2018#
Const CheckDate6 = #1/25/2018#
dtmMyDate = DateSerial(Year(Now()), Month(Now()), Day(Now()))
If dtmMyDate = CheckDate1 Then
Remind
ElseIf dtmMyDate = CheckDate2 Then
Remind
ElseIf dtmMyDate = CheckDate3 Then
Remind
ElseIf dtmMyDate = CheckDate4 Then
Remind
ElseIf dtmMyDate = CheckDate5 Then
Remind
ElseIf dtmMyDate = CheckDate6 Then
Remind
Else
NormalCheck
End If
答案 0 :(得分:3)
做这样的事情会更具可持续性:
将日期加载到工作表上的Excel范围和Define a Dynamic Named Range,例如MyDates
,并在工作簿级别指定范围。这样添加或删除日期将非常容易。
然后这可以是你的代码:
Dim vDates as Variant
vDates = Range("myDates")
Dim lDate as Long
For lDate = LBound(vDates) to UBound(vDates)
If vDates(lDate,1) = Format(Now,"m/d/yyyy") Then
Remind
Dim bRemind as Boolean
bRemind = True
Exit For
End If
Next
If Not bRemind Then NormalCheck