我想问一下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
像这样做会更可持续:
例如,将日期加载到工作表上的Excel范围中,然后将“动态命名范围”定义为,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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句