【LuKS】Vba if not c is nothing

在对excel宏调整的时候,发现以下一段代码,在网上查阅资料后,理解如下:

If Not c Is Nothing Then
        s = c.Address
            source.Cells(c.Row, 7) = "yes"
            Set c = source.UsedRange.FindNext(c)
            Do While Not c Is Nothing And s <> c.Address
                source.Cells(c.Row, 7) = "yes"
                Set c = source.UsedRange.FindNext(c)
            Loop
        End If

1. 常用 算术 比较 逻辑运算符如下:

算术比较逻辑
指数运算 (^) 相等 (=) Not
负数 () 不等 (<>) And
乘法和除法 (*/) 小于 (<) Or
整数除法 (\) 大于 (>) Xor
求模运算 (Mod) 小于或相等 (<=) Eqv
加法和减法 (+) 大于或相等 (>=) Imp
字符串连接 (&)

Like Is

2. if not c is nothing   先运算 is 比较运算符,再进行not 逻辑非运算。

比较运算符,即Is运算符,可用于判断两个对象变量是否指向同一个对象,其语法为:
    结果=对象1 Is 对象2
如果对象1和对象2都指向同一个对象,其结果为True;否则,结果为False。
还可以用Is运算符来判断一个对象变量是否符合要求,例如,条件判断语句If c Is Nothing Then 表明,如果对象变量objVar没有对象引用,则为True,执行Then后面的语句。


Not 对一个表达式进行逻辑非运算,即如果表达式为True,则Not运算符使该表达式变成False;如果表达式为False,则Not运算符使该表达式变成True;如果表达式为Null,则Not运算符的结果仍然是Null。其语法为:
    结果=Not 表达式
                                     出处---------------《vba编程系列之运算符和表达式》

 

posted @ 2017-09-04 16:23  BlackHuHumor  阅读(1393)  评论(0编辑  收藏  举报