Excel 关于VBA中IF多条件语句的用法,虚心求教

如题所述

1、if语句的含义:if语句字面意思就是如果的意思,如果条件为真,那么就执行if语句里面的程序,这个程序,一般指then后面的,一个if语句可以没有end if,但绝对不能没有then,这一点是要注意的。

2、if……then……结构

该结构一般用于比较简单的判断语句执行,下面以一段实例程序来讲解。

实例:如果第一个单元格不为空,那么就弹出一个提示框“单元格不为空”。

程序:  

Sub 判断语句()

If Cells(1, 1) <> "" Then MsgBox "单元格不为空"

End Sub

3、if……then……end if结构

该结构用于单选择判断语句执行,具体用法看下面实例。

实例:对于第一列的第一行到第十行单元格,作如下判断,如果单元格为空值了那么在相应的第二列单元格输出“VBA教研室”。

程序:

Sub 判断语句()

Dim i As Integer

For i = 1 To 100

If Cells(i, 1) = "" Then

Cells(i, 2) = "VBA教研室"

Exit For

End If

Next

End Sub

4、if ……then……else……end if结构

该结构用于事件只有两个可能的情况先选择的判断语句,具体见下面实例分析。

实例:对于第一列的第1,2行两个单元格做判断,如果单元格值为空,则在相应的第二列单元格输出false,否则输出Ture。

程序:

Sub 判断语句()

Dim i As Integer

For i = 1 To 2

If Cells(i, 1) = "" Then

Cells(i, 2) = "false"

Else

Cells(i, 2) = "True"

End If

Next

End Sub

5、if ……then……elseif……then……else……end if结构

该结构用于多条件判断语句执行,具体见下面实例分析

实例:对三名同学的成绩作出判断,大于等于80分的为优秀;60到80之间的为及格;0到60分之间的为不及格;0分为考试无效。

程序:

Sub 判断语句()

Dim i As Integer

For i = 2 To 7

If Cells(i, 2) >= 80 Then

Cells(i, 3) = "优秀"

ElseIf Cells(i, 2) < 80 And Cells(i, 2) >= 60 Then

Cells(i, 3) = "及格"

ElseIf Cells(i, 2) < 60 And Cells(i, 2) > 0 Then

Cells(i, 3) = "不及格"

Else

Cells(i, 3) = "考试无效"

End If

Next

End Sub

6、if语句嵌套使用

if语句可以灵活的嵌套使用的,如下面这套程序

Sub 判断语句()

Sub 判断语句()

If Cells(1, 1) <> "" Then

If Cells(1, 1) = "VBA教研室" Then

MsgBox "OK!"

Else

MsgBox "NO!"

End If

End If

End Sub

参考资料:百度经验-Excel VBA中if语句的用法

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-09-04

IF语句的语法:

If 条件判断语句1 Then
  处理语句A
ElseIf 条件判断语句2 Then
  处理语句B
Else
  处理语句C
End If

其中,条件判断语句需要使用判断符,常用的判断符有“==”(相等)、“>”(大于)、“>=”(大于等于)、“<”(小于)、“<=”(小于等于)、“<>”(不等于)。

如果有多个并列的条件,可以使用“And”(逻辑与)、“Or”(逻辑或)来连接。

例子:

If xxx==xxx And yyy<>yyy Then
  <...>
ElseIf xxx==yyy Or xxx<=yyy Then
  <...>
Else
  <...>
End If

补充:如果有多条并列条件,且要混用Or和And,不妨使用括号。

第2个回答  2016-08-29
VBA中的多条件IF,一般有两种情况:

一是使用AND、OR连接多个条件,例如:
IF A1=1 AND A2=2 OR A2="" THEN

二是使用IF嵌套,例如:
IF A1=1 THEN
IF A2=2 THEN ... ELSE ...
ELSE
IF A2="" THEN ... ELSE ...
END IF
第3个回答  推荐于2017-09-14
If 条件1 Then
处理
ElseIf 条件2 Then
处理
Else
处理
End If

条件与条件之间可以用 "And, Or, Not" 等。
判断符可以用 "=,<,>,<=,>=,<>" 等。本回答被提问者和网友采纳
第4个回答  2015-02-10
亲,如果是多条件,可以试一下 Select case 语句。

Excel 关于VBA中IF多条件语句的用法,虚心求教
If Cells(1, 1) <> "" Then MsgBox "单元格不为空"End Sub 3、if……then……end if结构 该结构用于单选择判断语句执行,具体用法看下面实例。实例:对于第一列的第一行到第十行单元格,作如下判断,如果单元格为空值了那么在相应的第二列单元格输出“VBA教研室”。程序:Sub 判断语句()Dim...

excel关于vba中if多条件语句的用法,虚心求教
答案:在Excel VBA中,可以使用If多条件语句来根据多个条件执行不同的操作。具体用法是结合多个If语句或者利用And、Or等逻辑运算符连接多个条件。详细解释:1. 基本结构:在VBA中,If语句用于进行条件判断。对于多条件判断,可以通过嵌套的If语句来实现。基本结构如下:vba If 条件1 Then '执行操作A Else...

Excel 关于VBA中IF多条件语句的用法,虚心求教
if a=1 and b=1 then ...(如果a=1 并且b=1,则...)if a=1 or b=1 then ...(如果a=1或者b=1,则...)if not a=1 then ...(如果a不是等于1,则...,当然也可改为a<>1,举例而已)

指纹考勤机导出的excel工作表被保护了,没有密码,怎么破解?虚心求教破解...
方法二:使用VBA代码法 上述的方法如果多个工作表都有保护密码,要在多个表格里面搜索protect,处理起来还是比较麻烦,建议大家使用下面的VBA代码法,只需要一个复制粘贴即可搞定,多个工作表都可以同时去除 在开发工具,点击VBA,然后右键,插入一个模块 在模块里面输入代码,直接运行,就直接破解了 代码如下...

指纹考勤机导出的excel工作表被保护了,没有密码,怎么破解?虚心求教破解...
没密码就直接撤销保护就行了啊

Excel 关于VBA中IF多条件语句的用法,虚心求教
If Cells(1, 1) <> "" Then MsgBox "单元格不为空"End Sub 3、if……then……end if结构 该结构用于单选择判断语句执行,具体用法看下面实例。实例:对于第一列的第一行到第十行单元格,作如下判断,如果单元格为空值了那么在相应的第二列单元格输出“VBA教研室”。程序:Sub 判断语句()Dim...

Excel 关于VBA中IF多条件语句的用法,虚心求教
与:and 或:or 非:not if a=1 and b=1 then ...(如果a=1 并且b=1,则...)if a=1 or b=1 then ...(如果a=1或者b=1,则...)if not a=1 then ...(如果a不是等于1,则...,当然也可改为a<>1,举例而已)

Excel 关于VBA中IF多条件语句的用法,虚心求教
网上很多教程。Private Sub Worksheet_SelectionChange(ByVal Target As Range)If [B1] < 8 Then [C1] = "小"Else If [B1] = 8 Then [C1] = "中"Else [C1] = "大"End If End If End Sub 就这意思:如果B1<8,那么C1=小 否则,如果B1=8,那么C1=中 否则C1=大 ...

Excel 关于VBA中IF多条件语句的用法,虚心求教
if ... then elseif ... then elseif ... then else end if

相似回答