【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编程系列之运算符和表达式》
海纳百川 有容乃大 壁立千仞 无欲则刚