宏程序中的if语句主要有两种形式: if语句和 if-else语句。
if语句(只有条件判断):
```vba
if condition Then
' 如果条件成立,执行这里的代码
End If
```
示例:
```vba
Sub MyMacro()
Dim x As Integer
x = 5
If x > 3 Then
MsgBox "x 大于 3"
End If
End Sub
```
if-else语句(条件判断和备选操作):
```vba
if condition Then
' 如果条件成立,执行这里的代码
Else
' 如果条件不成立,执行这里的代码
End If
```
示例:
```vba
Sub MyMacro()
Dim x As Integer
x = 5
If x > 10 Then
MsgBox "x 大于 10"
Else
MsgBox "x 不大于 10"
End If
End Sub
```
注意事项:
在宏程序中,if语句的条件判断需要使用方括号括起来,并且等于运算符需要使用EQ代替。
if语句后面的语句必须使用GOTO语句进行跳转。
条件表达式可以是任何可以返回真或假的表达式,如果条件表达式为真,则执行if后面的程序段;否则执行else后面的程序段。
示例:
```vba
1001 = 1
IF [1001 EQ 1] GOTO 10
1 = 0
GOTO 20
10 = 1
1 = 5
20 = 0
```
在这个示例中,首先定义了一个变量1001,并将其赋值为1。接下来使用if语句判断1001的值是否为1,如果是,则跳转到标号为10的行;如果不是,则将变量1赋值为0,并跳转到标号为20的行。如果条件成立,程序执行10行的代码块,将10赋值为1,将1赋值为5,并跳转到标号为20的行。