Excel VBA用于循环条件

杰基森

我想问一下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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章