如何零基础学习VBA——运算符介绍
VBA运算符是用于执行数学和逻辑操作的符号或关键字。以下是常见的几种VBA运算符:
数学运算符:包括加法运算符( ),减法运算符(-),乘法运算符(*),除法运算符(/)和模数(Mod)运算符。比较运算符:例如相等运算符(=),不等运算符(<>),大于运算符(>),小于运算符(<),大于等于运算符(>=)和小于等于运算符(<=)。逻辑运算符:用于在条件语句中进行逻辑运算。例如AND运算符,OR运算符,NOT运算符等。字符串运算符:用于连接两个字符串。例如“&”运算符或者使用“ ”运算符。
需要注意的是,在 VBA 中,“=”运算符表示赋值操作而非相等操作。相等的判断需要使用“==”或者使用“is”关键字。
VBA中的运算符主要分为以下几种:
1、算术运算符:用于进行数学运算。示例代码:
Dim a As Integer
Dim b As Integer
a = 5
b = 3
MsgBox a b '加法
MsgBox a - b '减法
MsgBox a * b '乘法
MsgBox a / b '除法
MsgBox a Mod b '取模,即求余数
2、比较运算符:用于比较两个值是否相等或大小关系。示例代码:
Dim a As Integer
Dim b As Integer
a = 5
b = 3
MsgBox a = b '相等
MsgBox a <> b '不相等
MsgBox a > b '大于
MsgBox a < b '小于
MsgBox a >= b '大于等于
MsgBox a <= b '小于等于
3、逻辑运算符:用于组合多个条件,得到一个整体条件。示例代码:
Dim a As Integer
Dim b As Integer
a = 5
b = 3
MsgBox (a > b) And (a < 10) 'And运算,表示两个条件同时成立
MsgBox (a > b) Or (a < 3) 'Or运算,表示两个条件之一成立
MsgBox Not (a < b) 'Not运算,表示取反
4、字符串运算符:用于操作字符串。示例代码:
Dim str1 As String
Dim str2 As String
str1 = "Hello, "
str2 = "world!"
MsgBox str1 & str2 '字符串连接,使用&符号
MsgBox Len(str1) '字符串长度,使用Len函数
MsgBox Left(str1, 5) '从左边截取指定长度的子字符串,使用Left函数
MsgBox Right(str2, 3) '从右边截取指定长度的子字符串,使用Right函数
MsgBox InStr(str1, "o") '查找子字符串在主字符串中的位置,使用InStr函数
5、其他运算符:如赋值运算符、条件运算符(三目运算符)、地址运算符等。示例代码:
Dim a As Integer
Dim b As Integer
a = 5
b = IIf(a > 3, a, 3) '条件运算符,表示if-else关系,在VBA中用IIf函数实现
MsgBox b
Dim ptr As LongPtr
ptr = ObjPtr(Range("A1")) '地址运算符,表示获取变量的内存地址,ObjPtr表示对象的内存地址
MsgBox Hex(ptr) '将地址转换为16进制形式,按照系统位数长度来转换
在 VBA 中,表达式中发生多个操作时,将按预先确定的顺序(称为运算符优先级)来计算和解析各个部分。当表达式包含多个类别中的运算符时,将根据以下规则对其进行计算:
算术运算符和串联运算符具有以下部分中描述的优先级顺序,并且其优先级比比较、逻辑和按位运算符的优先级高。所有比较运算符都具有相同的优先级,并且其优先级比逻辑和位算符更高,但优先级低于算术运算符和串联运算符。逻辑运算符和位运算符具有以下部分中描述的优先级顺序,并且其优先级比算术、串联和比较运算符的优先级低。具有相同优先级的运算符将按照它们在表达式中出现的顺序从左到右进行计算。
简单来说,运算符的优先级如下:
括号 ( )指数运算符 ^(从右向左)乘、除、取模运算符 * / mod(从左向右)整除运算符 \(从左向右)加、减运算符 -(从左向右)字符串连接运算符 &(从左向右)比较运算符 = <> < > <= >=(从左向右)逻辑运算符 Not And Or Xor(从左向右)
举一些例子说明下:
(5 3) * 2 的结果是 16,因为括号具有最高的优先级,所以先计算括号内的内容。4 2 ^ 3 的结果是 12,因为指数运算符的优先级高于加法运算符,所以先计算 2^3。10 / 5 * 2 的结果是 4,因为乘法运算符和除法运算符的优先级相同,所以按照从左到右的顺序进行计算。16 \ 3 的结果是 5,因为整除运算符的优先级高于加法运算符,所以先对 16 \ 3 进行取整。"Hello, " & "world!" 的结果是 "Hello, world!",因为字符串连接运算符的优先级比加法运算符低,所以先按照从左到右的顺序进行字符串连接。5 3 < 9 And 2 * 3 = 6 的结果是 True,因为比较运算符和逻辑运算符的优先级相同,按照从左到右的顺序依次计算。
需要注意的是,如果存在多个运算符且具有相同的优先级,则 VBA 将按照从左到右的顺序进行计算。例如,4 2 * 3 的结果为 10,而不是 18,因为乘法运算符优先级高于加法运算符,但是这里先计算的是 2 * 3,再与 4 相加。
实时文生图速度提升5-10倍,清华LCM/LCM-LoRA爆火,浏览超百万、下载超20万
生成式模型进入「实时」时代?文生图、图生图已经不是什么新鲜事。但在使用这些工具的过程中,我们发现它们通常运行缓慢,导致我们要等一段时间才能拿到生成结果。但最近,一种名叫「LCM」的模型改变了这种情况,它甚至能做到实时的连续生图。图源:https://twitter.com/javilopen/status/1724398666889224590站长网2023-11-15 21:18:160001苹果因故意降低性能被判向部分用户赔偿
苹果公司因被指控“故意通过iOS软件更新降低设备性能”而被韩国首尔高等法院判决向七名韩国iPhone用户每人赔偿7万韩元,约合381元人民币。这起诉讼涉及超过6.2万名韩国iPhone用户,指控苹果通过软件更新故意降低旧款手机的性能,迫使用户购买新手机。站长网2023-12-06 16:09:220001视觉语言模型BLIVA:让AI更擅长阅读图像中的文本 懂得看路牌和食品包装
文章概要:1.BLIVA是一种视觉语言模型,擅长读取图像中的文本。2.BLIVA结合了InstructBLIP的学习查询嵌入和LLaVA的编码修补嵌入。3.BLIVA在多个数据集上表现优异,可用于识别路牌、食品包装等场景。BLIVA是一种视觉语言模型,擅长读取图像中的文本,使其在许多行业的现实场景和应用中发挥作用。站长网2023-08-28 11:38:200000UCSD 研究人员开源Graphologue:将LLM文本响应转化为交互式图表
要点:大型语言模型(LLMs),如GPT-4,因其生成各种用户查询的文本响应的能力而广受欢迎,但在有效传达复杂信息方面存在限制,原因在于线性对话模式和基于文本的界面。加州大学圣地亚哥分校的研究人员团队开发了Graphologue,这是一种新颖的技术,旨在通过实时将基于文本的LLM响应转换为交互式图形图表来解决这些限制。站长网2023-09-25 10:42:080001