excel学习库

excel表格_excel函数公式大全_execl从入门到精通

70_VBA 表达式和语句

表达式

首先,相比语句更小的一种代码结构是,表达式。按照字面意思,可以分为两部分,表达和式。组合起来是,通过一种式子,表达相应的值。

VBA 中,返回一个值的代码片段,称之为表达式。

最简单的,最基本的数据写出来就是一个表达式,它返回的是自己本身(100、”Excel” 等)。

100 '=> 100

"Hello World" '=> Hello World

True '=> True

#2018-11-1# '=>2018-11-1

表达式也可以是,多个数据之间的运算表达式。例如,算数运算、逻辑运算、连接运算等。

1+2 '=> 3

10 > 5 '=> True

"Hello " & "World" '=> Hello World

进一步,表达式可以是多个表达式之间的运算。这种时候,往往会把多个表达式用()括起来,保证运算顺序。

Not (10 > 5) '=> False

(1 + 2) - (10 - 5) '=> -2

使用 VBA 函数也可以是表达式,例如 Left 函数返回左侧指定长度文本。

Left("Hello World", 5) '=> Hello

Abs(-10) '=> 10

Year(#2018-11-1#) '=> 2018

当然,最重要的,表达式中能使用变量。

语句

编程中光有表达式没有办法做成什么事,需要把表达式与其他元素组合成一个语句,才能发挥它的作用。

VBA 中,一条语句是一个完整指令的。它可以包含关键词、运算符、变量、常量以及表达式。

语句有三大类,分别是:

  1. 声明式语句,也就是声明变量、常量、过程或者函数。

  2. 执行式语句,执行指定动作。动作可以包括执行一个过程、开始一个循环、判断表达式等。

  3. 赋值语句,给变量赋值,是执行式语句的特殊形式。

接下来,分别介绍三类语句。

1.声明式语句

在之前的多篇文章,大家已经看到了很多声明式语句。声明式语句用来声明一个新的变量(包括类型),过程、函数、对象、数组等。

我们看以下代码。

Sub MyCode()

Dim name As String

Dim age As Integer

End Sub

这段代码中,第一个语句就是第一行,声明一个 VBA 过程。声明过程以 Sub开头,后接过程名()。对应的,最后一行是,过程的结束语句,即 End Sub

接下来是,两个声明变量的语句,name 和 age,并且语句中指定了他们的类型。

2.执行式语句

执行式语句执行一个动作。这个动作可以是运行过程、开始循环、判断表达式等。

我们以一个判断语句为例,看一下代码。

Sub MyCode()

Dim name As String

Dim age As Integer

name = "Zhang San"

age = 28

If age > 25 then

MsgBox name & " 岁数超过25了。"

End If

End Sub

这段代码中,If 语句判断 age 变量是否大于 25,如果是,则运行与 End If之间的代码,否则跳过不运行。这其中的If ... End If 就是一个执行式语句。

这种执行式语句是 VBA 语法中的最重要的部分,在接下来的学习中,将详细介绍。

3.赋值语句

赋值语句,顾名思义给变量赋值。它是执行式语句的一种特殊形式。

赋值语句的核心是 =,左侧是变量,右侧是赋的值。

我还是看上述代码,这次我们加上赋值语句。

Sub MyCode()

Dim name As String

Dim age As Integer

name = "Zhang San"

age = 28

End Sub

显然,name = "Zhang San"和age = 28是赋值语句。

另外值得注意的是,VBA 中的变量可以重复赋值,其值等于最后一次赋的值。这在实际的 VBA 开发中十分有用。

书写语句的 2 个技巧

在运算符一文中,简单说了 2 个运算符,一个是英文冒号(:),一个是下划线(_)

: ( 英文冒号)

通常,VBA 中直接将多个语句放置在一行,VBA 会报错。如果想要放置在一行,需要用 : ( 英文冒号)连接多个语句。

Sub MyCode()

Dim name As String : Dim age As Integer

End Sub

_ (下划线)

相反,当一条语句过长时,可能需要分成多行书写。如果把一条语句直接回车分成多行,VBA 也会报错。这时需要把空格 + _放置在换行处。

Sub MyCode()

Dim name As String

name = "Hello" & _

"World"

End Sub

总结

表达式是返回一个值的式子,语句是一个完整的指令。语句包括以下三类:

  1. 声明式语句

  2. 执行式语句

  3. 赋值语句

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接