Excel VBA for循环条件

我想问一下在VBA的for循环,我有以下脚本来提醒(“提醒”是一个子function)我如果当前date是CheckDate1,2,3,4,5,6 …我想问我是否需要添加更多date,我可以使用for循环来包含所有的CheckDate(s),而不是添加更多的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 

做这样的事情会更可持续:

将工作表中的date加载到Excel范围中,并将dynamic命名范围定义为MyDates并在工作簿级别指定范围。 这样添加或删除date将非常简单。

那么这可以是你的代码:

 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