excelvba之判断语句

合集下载

vba中if多条件判断

vba中if多条件判断

vba中if多条件判断VBA中IF多条件判断是指在VBA编程中,使用IF语句实现多个判断条件的功能。

在VBA编程中一个IF语句可以同时满足多个条件,当然也可以用IF…ELSE或者SELECT CASE来实现多条件判断。

首先,IF多条件判断是VBA中最基本的判断语句,通过IF条件可以决定程序执行何种操作,如果满足IF语句中的条件则执行IF语句中的操作,否则则不执行。

当IF多条件判断的条件较为复杂的时候,可以使用IF…ELSE语句来实现多条件判断。

IF…ELSE语句有三个部分,IF部分用来判断条件是否满足,ELSE IF部分用来判断上一个条件不满足时,下一个条件是否满足,ELSE部分是当上面所有条件都不满足时执行的操作。

另一种实现多条件判断的方式是SELECT CASE语句,SELECT CASE语句的优点是可以更清晰的表示多条件判断的逻辑。

SELECT CASE语句的格式与IF…ELSE语句相似,它也有三个部分,SELECT CASE部分表示要检查的条件,CASE 部分表示要检查的具体值,ELSE部分表示当所有值都不满足时的操作。

实际应用中,我们可以根据实际情况选择不同的条件判断语句来实现多条件判断,例如,我们可以使用IF语句来检查一个变量是否大于某个数:IF a>10 THEN 'Do something END IF我们也可以使用IF…ELSE语句来检查一个变量是否等于某个数:IF a=10 THEN 'Do something ELSE 'Do something else END IF此外,我们可以使用SELECT CASE语句来检查一个变量是否大于等于某个数:SELECT CASE a CASE >= 10 'Do something CASE ELSE 'Do something else END SELECT总之,在VBA编程中,IF多条件判断可以通过IF、IF…ELSE或者SELECT CASE语句来实现。

VBA基础03--判断分支

VBA基础03--判断分支

VBA基础03--判断分支开始前,说明一下,如果你能用三天把下面的实例看懂,也同一样会给你带来收获,不要急,慢慢来,最最重要的是要懂,不懂就要问====================================== ==Sub 判断1() '单条件判断,下面我一条条的帮你解释一下If Range('a1').Value > 0 Then '如果 A1 单元格的值大于 0 的话,那么。

注意,注意了,if 和 Then 必须在同一行上的哦Range('b1') = '正数' '在 B1 单元格中输入 '正数'Else '否则Range('b1') = '负数或0' '在B1单元格中输入”负数“End If '结束判断End Sub**********************************************Sub 判断2() '多条件判断If Range('a1').Value > 0 Then '如果...........那么Range('b1') = '正数'ElseIf Range('a1') = 0 Then '否则如果.........那么Range('b1') = '等于0'ElseIf Range('B1') <= 0 Then '否则如果..........那么Range('b1') = '负数'End If '结束判断End Sub**********************************************Sub 多条件判断2() '如过程名所描述,下面的如果后面接了很多的条件,中间用 AND 连接,AND 就是且的意思,表示两个条件要同时成立,才会执行其内部的代码。

VBA常用语句(判断语句)

VBA常用语句(判断语句)

VBA常⽤语句(判断语句)今天我们来学习下VBA中⼀个重要的语句结构,判断语句结构。

在⼯作中,我们经常会遇到根据不同的情况进⾏判断并做出不同的操作,有时候需要的是单条件的判断,有时候需要的是多条件的判断。

1、单条件的判断语句:学习函数时我们经常⽤IF来判断,VBA 中也⼀样。

语法如下:if 判断1 then代码 1else代码 2end if当条件成⽴时执⾏代码1的操作,否则执⾏代码2的操作。

举例:如果A1单元格中的数字⼤于等于60,B1单元格中显⽰及格,否则显⽰不及格。

Sub 判断()If Range('A1') >= 60 ThenRange('b1').Value = '及格'ElseRange('b1').Value = '不及格'End IfEnd Sub我们在A1中输⼊不同数据,然后按F5运⾏代码试试看B1中的结果。

2、多条件的判断语句多条件判断有两种语句1)、if 判断1 then代码1elseif 判断2 then代码2elseif 判断3 then代码3……elseend if举例:如果A1单元格中的数字⼤于等于85,B1单元格中显⽰优秀,若⼤于等于60,B1中显⽰良好,⼩于60,显⽰差。

Sub 多重判断1()If Range('A1') >= 85 ThenRange('b1').Value = '优秀'ElseIf Range('A1') >= 60 ThenRange('b1').Value = '良好'ElseIf Range('A1') < 60 ThenRange('b1').Value = '差'End IfEnd Sub2)、select case 判断的对象case (is)条件1代码1case(is)条件2代码2……case ( is) 条件N代码nend selcet还是上⾯的例⼦,我们试试⽤select case 来写Sub 多重判断2()Select Case Range('A1')Case Is >= 85Range('b1').Value = '优秀'Case Is >= 60Range('b1').Value = '良好'Case Is < 60Range('b1').Value = '差'End SelectEnd Sub通过对⽐我们可以发现,如果条件是单个⾃变量,⽤select case 写起来更加⽅便,⽽且在case 后⾯直接写⽐较运算符时,case后⾯的is会⾃动添加上去,代码显得更加简洁。

excel宏判断语句

excel宏判断语句

excel宏判断语句
Excel宏的判断语句主要是条件语句和选择语句。

1.条件语句(IF语句)
IF语句可以根据某个条件来进行逻辑判断,当条件成立时执行一段代码块,否则执行另一段代码块。

IF语句的语法格式如下:IF(条件,执行语句1,执行语句2)
其中,如果“条件”成立,则执行“执行语句1”,否则执行“执行语句2”。

2.选择语句(SWITCH语句)
SWITCH语句可以根据变量的不同值执行不同的代码块。

SWITCH语句的语法格式如下:
SWITCH变量名
CASE值1:执行语句1
CASE值2:执行语句2
CASE值3:执行语句3
...
DEFAULT:执行语句n
END SELECT
其中,如果变量等于值1,执行语句1;如果变量等于值2,执行语句2;如果变量等于值3,执行语句3;如果变量都不等于上述值,则执行默认的语句n。

拓展:
除了条件语句和选择语句之外,Excel宏还支持循环语句,包括:DO WHILE,DO UNTIL,FOR NEXT,FOR EACH等。

使用循环语句可以让程序在满足一定条件下重复执行特定的操作,更加高效、灵活。

但在使用循环语句时,需要注意循环条件、循环次数的设置,以避免陷入无限循环的情况。

vba编程 判断语句

vba编程 判断语句

vba编程判断语句VBA编程是一种用于操作Excel等Microsoft Office应用程序的编程语言。

在VBA中,判断语句是一种常用的语句类型,用于根据条件的真假执行不同的代码块。

下面列举了10个常用的VBA判断语句及其用法。

1. If语句:用于根据条件的真假执行不同的代码块。

```If condition Then' 执行代码块1Else' 执行代码块2End If```2. ElseIf语句:用于在多个条件之间进行判断。

```If condition1 Then' 执行代码块1ElseIf condition2 Then' 执行代码块2Else' 执行代码块3End If```3. Select Case语句:用于根据不同的条件执行不同的代码块。

```Select Case expressionCase value1' 执行代码块1Case value2' 执行代码块2Case Else' 执行代码块3End Select```4. For循环语句:用于重复执行一段代码,次数由循环条件决定。

```For index = start T o end Step step' 执行代码块Next index```5. Do While循环语句:用于在满足条件的情况下重复执行一段代码。

```Do While condition' 执行代码块Loop```6. Do Until循环语句:用于在不满足条件的情况下重复执行一段代码。

```Do Until condition' 执行代码块Loop```7. While循环语句:用于在满足条件的情况下重复执行一段代码。

```While condition' 执行代码块Wend```8. Until循环语句:用于在不满足条件的情况下重复执行一段代码。

```Until condition' 执行代码块Loop```9. Exit语句:用于提前结束循环或过程。

excel vba 条件判断格式

excel vba 条件判断格式

excel vba 条件判断格式Excel VBA是一种用于编写宏的编程语言,可以在Excel中自动化执行各种任务。

条件判断是编程中常用的控制结构之一,用于根据不同的情况执行不同的代码。

在Excel VBA中,我们可以使用多种条件判断格式来控制程序的流程。

一、If语句If语句是最基本的条件判断语句,它可以根据给定的条件来决定是否执行某段代码。

其语法如下:```If某个条件Then需要执行的代码End If```其中,条件可以是任何返回布尔值(True或False)的表达式。

如果条件为True,则执行需要执行的代码,否则不执行。

我们也可以使用Else语句来处理条件为False的情况,如下所示:```If某个条件Then需要执行的代码Else需要执行的代码End If```在上述代码中,如果条件为True,则执行第一个代码块;如果条件为False,则执行第二个代码块。

二、Select Case语句Select Case语句是用于比较某个表达式与多个可能值的语句。

其语法如下:```Select Case表达式Case值1需要执行的代码Case值2需要执行的代码...Case Else需要执行的代码End Select```在上述代码中,根据表达式的值,执行与之匹配的代码块。

如果没有匹配的值,则执行Case Else中的代码块。

三、For循环语句For循环语句是一种重复执行指定次数的语句,可以根据条件来控制循环的执行次数。

其语法如下:```For变量=初始值To结束值Step步长需要执行的代码Next变量```在上述代码中,变量是一个整型变量,初始值是循环开始时的值,结束值是循环结束时的值,步长是每次循环增加或减少的值。

执行时,变量会从初始值逐渐增加或减少,直到达到或超过结束值。

我们还可以使用Exit For语句来提前结束循环,跳出循环执行下一段代码。

四、Do循环语句Do循环语句是一种根据条件重复执行指定次数的语句,可以在循环开始时或循环结束时判断条件。

excel工作表VBA语言第五课《判断语句》

excel工作表VBA语言第五课《判断语句》

VBA语言第五课《判断语句》三四五在VBA数据处理中常常用到条件判断语句,比如根据分数判断是否及格等。

一、If语句提供三种形式:IIf函数、单行的If语句以及If结构A.IIf函数Sub test1() 运行一个名称为"test1"的宏Dim a% 定义变量a为整型数据a = IIf(10 > 0, 0.3 * 10, 0) 赋值a,若条件10大于0,则a等于0.3*10,否则a等于0MsgBox a 提示框正文内容显示a的值End Sub 结束宏过程B.单行的If语句Sub test2() 运行一个名称为"test2"的宏Dim a% 定义变量a为整型数据If 10 > 0 Then a = 0.3 * 10 若条件10大于0,则a等于0.3*10(省略了else 和end if,不满足条件时直接无视)MsgBox a 提示框正文内容显示a的值End Sub 结束宏过程C.If结构Sub test3() 运行一个名称为"test3"的宏Dim a% 定义变量a为整型数据If -1 > 0Then 若条件-1大于0,a = 0.3 *10 则a等于0.3*10Else 否则if 2>0then 若条件2大于0,a=8 则a等于8else 否则End if 结束判断End If 结束判断MsgBox a 提示框正文内容显示a的值End Sub 结束宏过程二、Select Case 语句条件匹配Sub 成绩等级() 运行一个名称为"成绩等级"的宏Dim i% 定义变量i为整型数据With Sheets("判断语句") 选定《判断语句》工作表For i = 33 To 36 i值从33到36逐一循环Select Case .Range("H" & i) 选定《判断语句》工作表H列对应单元格 Case Is > 90 若条件值大于90.Range("I" & i) = "优" 则I列对应单元格值为"优"Case Is > 80 若条件值大于90.Range("I" & i) = "良" 则I列对应单元格值为"优"Case Is > 60 若条件值大于90.Range("I" & i) = "合格" 则I列对应单元格值为"优"Case Else 若条件值大于90.Range("I" & i) = "不合格" 则I列对应单元格值为"优"End Select 结束选定Next 下一个循环End With 结束选定End Sub 结束宏过程另外一种方法(效果一样)Sub 成绩等级()Dim i%With Sheets("判断语句")For i = 33 To 36Select Case .Range("H" & i)Case 90 To 100.Range("I" & i) = "优"Case 80 To 90.Range("I" & i) = "良"Case 60 To 80.Range("I" & i) = "合格"Case Else.Range("I" & i) = "不合格"End SelectNextEnd WithEnd Sub。

VBA判断语句

VBA判断语句

VBA判断语句VBA判断语句1)If…Then…Else语句If condition Then[statements][Else elsestatements]如1:If A>B And C<D Then A=B+2Else A=C+2如2:If x>250Then x=x-100或者,可以使用块形式的语法:If condition Then[statements][ElseIf condition-n Then[elseifstatements] ...[Else[elsestatements]]End If如1:If Number < 10ThenDigits = 1ElseIf Number < 100ThenDigits = 2ElseDigits = 3End If2)Select Case…Case…End Case语句如1:Select Case PidCase“A101”Price=200Case“A102”Price=300……Case ElsePrice=900End Case3)Choose函数choose(index, choce-1,choice-2,…,choice-n),可以用来选择自变量串列中的一个值,并将其返回,index必要参数,数值表达式或字段,它的运算结果是一个数值,且界于1和可选择的项目数之间。

choice必要参数,Variant 表达式,包含可选择项目的其中之一。

如:GetChoice = Choose(Ind, "Speedy", "United", "Federal")4)Switch函数Switch(expr-1, value-1[, expr-2, value-2 _ [, expr-n,value-n]]) switch函数和Choose函数类似,但它是以两个一组的方式返回所要的值,在串列中,最先为TRUE的值会被返回。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

excelvba之判断语句
学习VBA
之判断语句
1. 单行形式(IF…THEN)
格式:if <逻辑表达式> then <执行语句> [:<执行语句>]… 在这里逻辑表达式为条件,当条件为真时,执行then后面的语句,如果执行的是多条,在语句中间用冒号分开(:)
例1: If 11>10 then a=a+1
例2: if 11>10 then a=a+1 : b=b+1 : c=c+1
2. 单行形式(IF…THEN…..ELSE….)
格式:if <逻辑表达式> then <执行语句> else <执行语句>
当逻辑表达式为真时,执行then后面的语句,当逻辑表达式为假时执行else 后
面的语句。

例:if 2>1 then msgbox “yes” else msgbox “no”
3. 多行形式(IF…..THEN….END)
格式:if <逻辑表达式> then
<执行语句>
[执行语句]
…….
End if
此语句运行的结果和第一条单行形式的IF语句是一样的,好处是可以在逻辑表
达式为真时,可以执行相对多条的语句,并且清晰易懂。

例:if 11>10 then A=a+1
B=b+1
C=c+1
End if
4. 多行形式(IF…..THEN….ELSE….END)
格式:if <逻辑表达式> then
<执行语句>
[执行语句]
…..
Else
<执行语句>
[执行语句]
…..
End if
这个用法的结果等同于第二条单行形式,适用于比较复杂的判断语句,并清晰易
懂。

例:if 11>10 then
A=a+1
B=b+1
Else
A=a-1
B=b-1
End if
5. 多行形式(IF…..THEN….ELSEIF…..ELSE…..END)
格式:if <逻辑表达式> the
<执行语句>
[执行语句]
…..
Elseif <逻辑表达式> then
<执行语句>
[执行语句]
…..
Else
<执行语句>
[执行语句]
…..
End if
在这里当第一个逻辑表达式为假时,还可以进行elseif后面的第二种判断,当第个判断又为假时还可以进行第三种判断,直到所有的逻辑表达式都不成立后才执行else后面的语句,其中如果条件符合某个elseif后面的逻辑表达,则只执行这个elseif后面的语句。

这种判断语句较为复杂,不建议初学者使用,只有能逐步熟悉掌握了以前几种判断语句的用法及步骤,这个语句才能得心应手。

例: 假定当前已打开工作簿,第一个表的 A1单元格的内容为考试成绩,我们要在B1里输入根据A1成绩相对应的等级
If sheet1.range(“a1”)>90 then
Sheet1.range(“b1”)=”优”
Elseif sheet1.range(“a1”)>80 then
Sheet1.range(“b1”)=”良”
Elseif sheet1.ra nge(“a1”)>70 then
Sheet1.range(“b1”)=”中”
Else
Sheet1.range(“b1”)=”差”
End if
在这个例子里,开始时单元格的内容是全部的数字集,它可以是任何一个数字,当运行完第一个条件判断后,如果条件不成立,单元格的数字则只能是90以下的任意数字了,如果第二个条件判断不成立,那它就只能是80以下的数字了,如果所有的判断都不成立,那就只能执行else后面的语句。

在运行这一段程序的当中,并不是所有所有符合条件的语句都执行,而是优先执行最先符合条件的,执行完就退出判断语句,例如a1单元格的内容是91,符合条件的有三个,由于sheet1.range(“a1”)>90这个条件在前,那么b1单元格内就
会赋值为”优”,其余两个条件就不再做判断。

反过来,如果是
sheet1.range(“a1”)>70这个条件在前,这个判断语句就只能是以这个条件为判断,即使a1单元格内为100,b1单元格也只能赋值为”中”,也就是说
sheet1.range(“a1”)>90和sheet1.range(“a1”)>80这两个条件起不了作用了。

所以在编写这种判断语句时应注意逻辑表达式的先后顺序。

6. 判断语句之SELECT
格式:select case 对象
Case [is <逻辑运算符>] <变量(或常量)>
<执行语句>
[执行语句]
…..
[Case [is <逻辑运算符>] <变量(或常量)>
<执行语句>
[执行语句]
…..]
Case else
<执行语句>
[执行语句]
…..]
End select
在这里,对象可以是一个变量,也可以是指定单元格内的值,还可以是一组正确的表达式,然后通过这个对象的值能符合下面哪个case后面的值,再决定执行哪个case下面的执行语句。

如果都不符合,则执行case else后面的执行语句。

例: 假定当前已打开工作簿,第一个表的 A1单元格的内容为考试成绩,我们要在B1里输入根据A1成绩相对应的等级。

Select case sheet1.[a1].value
Case is > 90
Sheet1.[b1]=”优”
Case is > 80
Sheet1.[b1]=”良”
Case is > 70
Sheet1.[b1]=”中”
Case else
Sheet1.[b1]=”差”
End select
这一段判断语句就比用IF语句要简单,并且运行的结果是一样的。

用select
做判断,可以不用写逻辑表达式,这里不是说不需要条件,任何判断都是需要条件的,而是表达式是分开的。

这里的判断条件就是sheet1.[a1].value的值与case
后面的比较,符合哪个条件就执行哪个case后面的语句。

在select判断中,如果逻辑运算符是”=”的话,这个”=”还可以省略。

例: 假定当前已打开工作簿,第一个表的 A1单元格的内容为考试等绩,我们要在B1
里输入根据A1成绩相对应的分数范围。

Select case sheet1.[a1].value
Case “优”
Sheet1.[b1]=”成绩在91-100之间”
Case “良”
Sheet1.[b1]=”成绩在81-90之间”
Case “中”
Sheet1.[b1]=”成绩在71-80之间”
Case “差”
Sheet1.[b1]=”成绩在70以下”
Case else
Sheet1.[b1]=”等级值错误”
End select
小结:在excel vba里,判断语句大体上有以上六种,这六种语句,不存在孰
优孰劣,并且每一种判断语句一般都能替代另一种。

但它们各有各的优点和缺点,简单的判断,用前三种,能达到简化语句的作用,但在多条件判断时就有点力不从
心,多条件的判断用后面的三种,就比用前三种简单,且清晰易懂,但在简单的判断下如果在用后面的判断,就有点画蛇添足之嫌。

只有在多用,多练的情况下,熟悉各种语句的用法后,才能得心应手,用的多了,什么时候用什么样的语句,则会在不知不觉中做出选择。

笔记:小季
2015-4-25。

相关文档
最新文档