Or
如果执行逻辑或运算的表达式中至少有一个为True,则其值为True,如果表达式的结果都为False,则其值为False 。其格式为:
表达式1 Or 表达式2 Or 表达式3 Or … 表达式n
表达式至少有2个 。
运算结果表如下:
表达式1表达式2表达式1 Or 表达式2
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse
示例
结合前面学习的系列知识,我们来看看下面语句的意思 。
ActiveSheet.Name=”工作表1” Or ActiveSheet.Name=”工作表2”
如果当前工作表是“工作表1”,或者是“工作表2”,则为True 。
ActiveSheet.Name=”工作表1” And Range(“A1”).Value=https://www.i8ku.com/2021/”工作清单”
如果当前工作表是“工作表1”,并且当前工作表的单元格A1中的值为“工作清单”,则为True 。
【excel数据透视表之VBA运算符】ActiveCell.Font.Bold = Not ActiveCell.Font.Bold
如果当前单元格中的字体为常规,则将其设置为加粗;如果当前单元格中的字体已加粗,则将其设置为常规 。
补充说明:上述6个逻辑运算符也可作为按位运算符使用,并且我们只介绍了常用的3个,在后面的系列中如果用到其它的3个运算符,我们会再进行详细介绍 。
字符串运算符
VBA中的字符串运算符仅一个,即字符串连接运算符,使用 & 表示,用于将一个或多个独立的字符串连接在一起 。例如:
“My ” &”Family”
的结果为:
My Family
运算符的优先级
如果在同一个表达式中包含有多个运算符,那么就需要了解VBA是如何安排那个运算符先运算,那个运算符后运算,即运算的优先顺序 。不了解运算符的优先顺序,随意组合运算符,可能得不到我们想要的结果 。
下列出了VBA中运算符的优先级 。
文章插图
说明:
四类运算符由高到低的顺序依次为:算术运算符、连接运算符、关系运算符、逻辑运算符 。
算术运算符由高到低的顺序依次为:^(幂)、*(乘)或/(除)、\(整除)、Mod(取模)、+(加)或-(减) 。
同一表达式中多次使用同一个算术运算符时,按从左到右的顺序运算 。
同一表达式中多个关系运算符,按从左到右的顺序运算 。
同一表达式中多次使用同一逻辑运算符时,按从左到右的顺序运算 。
如果想改变运算符的优先顺序,可以在表达式中使用()或[] 。
赋值运算符
VBA使用等号(=)作为赋值运算符,用于将表达式的结果赋给变量 。通常,接受结果的变量位于赋值运算符(=)的左侧,表达式位于赋值运算符的右侧 。通过赋值运算符将右侧表达式的结果赋值给左侧的变量 。赋值运算符可以修改变量的值 。
下所示为一些简单的赋值示例 。
文章插图
前面我们过,可以通过VBA来改变对象属性值,因此,也可以将表达式的结果赋值给对象的属性 。下面是一些示例:
Range(“A1”).Value = https://www.i8ku.com/2021/100
该语句在单元格A1中输入数据100 。
Range(“A2”).Value = https://www.i8ku.com/2021/“工作清单”
该语句在单元格A2中输入文本“工作清单” 。
ActiveCell.Interior.Color = vbYellow
该语句将当前单元格的背景色设置为黄色 。
注意:不要将赋值运算符与关系运算符中的“=”混淆,要在不同的表达式中区分“=”是赋值运算符还是等于运算符 。
推荐阅读
- 1 excel图表有条件的循环—Do While循环
- excel图表有条件的循环设置
- excel图表常见问题回答!
- 使用INDEX函数返回整行或整列
- pandigitals Excel公式技巧之1/17和其他全数字
- excel图表怎么将十进制数转换成指定进制的数
- excel从字符串中提取数字——数字位于字符串开头
- excel从字符串中提取数字——数字位于字符串末尾
- excel图表将所有数字分别提取到不同的单元格
- excel将所有数字提取到单个单元格