精华内容
下载资源
问答
  • 判断条件是这样的: 1、当C列中 a. 匹配UCF,则将C列值,写到E列,尾部添加“/带方形座”; b. …………(请见下图表,和a条件一样写到E列) [img=...
  • 本节课主要讲解语法篇的第一篇,IF函数的当中的IF语句单一条件判断和多条件判断的使用细节。一、IF语句单一条件判断:假设:如图第二部分,当 I3>=90时,J3为通过,反之为不通过。代码如下:Sub IF单一条件判断()...

    本节课主要讲解语法篇的第一篇,IF函数的当中的IF语句单一条件判断和多条件判断的使用细节。

    一、IF语句单一条件判断:

    d591833137833706e0d3598823b8c263.png

    假设:如图第二部分,当 I3>=90时,J3为通过,反之为不通过。

    335724a55b13507e037cdac88aa65242.gif

    代码如下:

    Sub IF单一条件判断()

    If Sheet1.Range("I3") >= 90 Then

    Sheet1.Range("j3") = "通过"

    Else

    Sheet1.Range("j3") = "不通过"

    End If

    End Sub

    一、IF语句多条件判断:

    d591833137833706e0d3598823b8c263.png

    假设:如图第一部分,当 B3>=90时,C3为良好;当 B3>=80时,C3为合格,反之为不合格。

    59d0a7527b5f7f2cbc87c81ed8cc6113.gif

    代码如下:

    Sub IF多条件判断()

    If Sheet1.Range("B3") >= 90 Then

    Sheet1.Range("C3") = "优秀"

    ElseIf Sheet1.Range("B3") >= 80 Then

    Sheet1.Range("C3") = "合格"

    Else

    Sheet1.Range("C3") = "不合格"

    End If

    End Sub

    三、IF语句总结:

    1.单行形式1(If...Then)

    1.1 If 条件判断 Then 条件成立结果;

    1.2 在单行形式中,按照 If...Then 判断的结果也可以执行多条语句;

    1.3所有语句必须在同一行上并且以冒号分开。

    如:

    Sub test()

    If 1 > 10 Then a = 1: b = 2: c = 3

    End Sub

    2. 单行形式2

    If 条件判断 Then 条件成立 Else 条件不成立。

    如:

    Sub test2()

    If 1 > 1 Then MsgBox "yes" Else MsgBox "no"

    End Sub

    3.块形式(If...Then…End)

    If 条件判断 Then

    条件成立结果

    End If

    如:

    Sub test3()

    If 11 > 10 Then

    a = 1 + a

    b = 1 + a

    c = 1 + b

    End If

    End Sub

    4.块形式的If嵌套

    If 条件判断 Then

    成立时的结果

    ElseIf 条件判断 Then

    成立时的结果

    ……

    Else

    不成立时的结果

    End If

    如:

    Sub IF多条件判断()

    If Sheet1.Range("B3") >= 90 Then

    Sheet1.Range("C3") = "优秀"

    ElseIf Sheet1.Range("B3") >= 80 Then

    Sheet1.Range("C3") = "合格"

    Else

    Sheet1.Range("C3") = "不合格"

    End If

    End Sub

    展开全文
  • 本节课主要讲解语法篇的第一篇,IF函数的当中的IF语句单一条件判断和多条件判断的使用细节。一、IF语句单一条件判断:假设:如图第二部分,当 I3>=90时,J3为通过,反之为不通过。代码如下:Sub IF单一条件判断()...

    本节课主要讲解语法篇的第一篇,IF函数的当中的IF语句单一条件判断和多条件判断的使用细节。

    一、IF语句单一条件判断:

    d50c08f262f063e60dd8afb874b48752.png

    假设:如图第二部分,当 I3>=90时,J3为通过,反之为不通过。

    20100f8045598e127b24b80c97308928.gif

    代码如下:

    Sub IF单一条件判断()

    If Sheet1.Range("I3") >= 90 Then

    Sheet1.Range("j3") = "通过"

    Else

    Sheet1.Range("j3") = "不通过"

    End If

    End Sub

    一、IF语句多条件判断:

    d50c08f262f063e60dd8afb874b48752.png

    假设:如图第一部分,当 B3>=90时,C3为良好;当 B3>=80时,C3为合格,反之为不合格。

    8499ed0a79a8f0b016d7d27005a0f0e2.gif

    代码如下:

    Sub IF多条件判断()

    If Sheet1.Range("B3") >= 90 Then

    Sheet1.Range("C3") = "优秀"

    ElseIf Sheet1.Range("B3") >= 80 Then

    Sheet1.Range("C3") = "合格"

    Else

    Sheet1.Range("C3") = "不合格"

    End If

    End Sub

    三、IF语句总结:

    1.单行形式1(If...Then)

    1.1 If 条件判断 Then 条件成立结果;

    1.2 在单行形式中,按照 If...Then 判断的结果也可以执行多条语句;

    1.3所有语句必须在同一行上并且以冒号分开。

    如:

    Sub test()

    If 1 > 10 Then a = 1: b = 2: c = 3

    End Sub

    2. 单行形式2

    If 条件判断 Then 条件成立 Else 条件不成立。

    如:

    Sub test2()

    If 1 > 1 Then MsgBox "yes" Else MsgBox "no"

    End Sub

    3.块形式(If...Then…End)

    If 条件判断 Then

    条件成立结果

    End If

    如:

    Sub test3()

    If 11 > 10 Then

    a = 1 + a

    b = 1 + a

    c = 1 + b

    End If

    End Sub

    4.块形式的If嵌套

    If 条件判断 Then

    成立时的结果

    ElseIf 条件判断 Then

    成立时的结果

    ……

    Else

    不成立时的结果

    End If

    如:

    Sub IF多条件判断()

    If Sheet1.Range("B3") >= 90 Then

    Sheet1.Range("C3") = "优秀"

    ElseIf Sheet1.Range("B3") >= 80 Then

    Sheet1.Range("C3") = "合格"

    Else

    Sheet1.Range("C3") = "不合格"

    End If

    End Sub

    展开全文
  • 前面的章节中我们讲过条件判断语句,IF ELSE 语句,在工作表中遇到条件判断的时候,我们也经常用到if函数,今天看下在VBA条件判断的一个函数,iif,比工作表中的函数if了一个I。还是前面章节中的例子:如果D3...

    前面的章节中我们讲过条件判断语句,IF ELSE 语句,在工作表中遇到条件判断的时候,我们也经常用到if函数,今天看下在VBA中条件判断的一个函数,iif,比工作表中的函数if多了一个I。

    还是前面章节中的例子:

    如果D3单元格中的数字大于等于60,B4单元格中显示及格,否则显示不及格。

    用IF ELSE写,代码如下:

    Sub 判断()

    If Range("D3") >= 60 Then

    Range("D4").Value = "及格"

    Else

    Range("D4").Value = "不及格"

    End If

    End Sub

    如果用VBA中的函数IIF来写的话如下:

    Sub 条件判断()

    Range("D4") = VBA.IIf(Range("D3") >= 60, "及格", "不及格")

    End Sub

    969a64f736beacf7fb42c25e81924e56.gif

    多条件的判断

    举例:

    如果A1单元格中的数字大于等于85,B1单元格中显示优秀,若大于等于60,B1中显示良好,小于60,显示差。

    IF ELSE语句:

    Sub 多重判断1()

    If Range("A1") >= 85 Then

    Range("b1").Value = "优秀"

    ElseIf Range("A1") >= 60 Then

    Range("b1").Value = "良好"

    ElseIf Range("A1") < 60 Then

    Range("b1").Value = "差"

    End If

    End Sub

    用VBA函数IIF来写:

    Sub 多条件判断()

    Range("D4") = IIf(Range("D3") >= 85, "优秀", IIf(Range("D3") >= 60, "良好", "差"))

    End Sub

    5335cf300a3b6fddd2bc43dcb1250b05.gif

    相比较而言,如果熟悉VBA中的函数的话,某些情况下的判断用函数还是更加简单。另外在书写VBA 函数时如果已经清楚这个函数了,函数前面可以不用再写“VBA.“了。

    转自: 米宏Office

    展开全文
  • VBA中冗长的多条件判断如何破

    千次阅读 2019-01-31 04:48:34
    判断语句是VBA中经常用到的代码,语法格式也很简单,但是有些场景中判断条件有很,如下面代码所示。并且字段不断增多,程序中需要进行判断的地方有处,每次增加判断条件都要改处,既麻烦又容易出错。 If ...

    判断语句是VBA中经常用到的代码,语法格式也很简单,但是有些场景中判断条件有很多,如下面代码所示。并且字段不断增多,程序中需要进行判断的地方有多处,每次增加判断条件都要改多处,既麻烦又容易出错。

    If strCell = "姓名" Or strCell = "班级" Or strCell = "学号" Or _
    			strCell = "课程" Or strCell = "学分" Or strCell = "成绩" Then
    

    其实这种多判断条件可以简化(结构简化,代码行数需要增加,呵呵)。

    • 方法一:使用数组(或者字典),关键字保存在数组中,便于日后维护,利用循环进行判断,然后根据判断结果进行后续的处理。其中strCell是需要判断的字符串。对于每个字符串都需要循环判断多次,循环执行的次数取决于字符串在关键字数组中的位置,如果不在其中,那么就需要执行全部的循环,即6次,因此这个方法效率不高。
    Option Explicit
    Sub MultipleConditions1()
        Dim arrKey
        Dim strCell As String
        Dim i As Integer
        Dim blnFlag As Boolean
        blnFlag = False
        strCell = "学号"
        arrKey = Array("姓名", "班级", "学号", "课程", "学分", "成绩")
        For i = UBound(arrKey) To UBound(arrKey)
            If blnFlag = blnFlag Or (strCell = arrKey(i)) Then
                blnFlag = True
                Exit For
            End If
        Next i
        If blnFlag Then
            Debug.Print ("匹配关键字")
        Else
            Debug.Print ("无匹配关键字")
        End If
    End Sub
    
    • 方法二:与上面方法相同,关键字保存在数组中,不同之处在于使用Join函数先将关键字数组组合为一个字符串,然后再使用Instr判断一次就可以了,相应的代码效率得到了提升,特别是对于关键字数组元素多的应用场景中。
    Sub MultipleConditions2()
        Dim arrKey
        Dim strKey
        Dim strCell As String
        Dim i As Integer
        Dim blnFlag As Boolean
        blnFlag = False
        strCell = "学号"
        arrKey = Array("姓名", "班级", "学号", "课程", "学分", "成绩")
        strKey = VBA.Join(arrKey, "|")
        If VBA.InStr(strKey, strCell) > 0 Then
            Debug.Print ("匹配关键字")
        Else
            Debug.Print ("无匹配关键字")
        End If
    End Sub
    
    • 方法三:使用Like运算符进行判断,也可以实现同样的效果。
    Sub MultipleConditions3()
        Dim arrKey
        Dim strKey
        Dim strCell As String
        Dim i As Integer
        Dim blnFlag As Boolean
        blnFlag = False
        strCell = "学号"
        arrKey = Array("", "姓名", "班级", "学号", "课程", "学分", "成绩", "")
        strKey = VBA.Join(arrKey, "|")
        If strKey Like ("*|" & strCell & "|*") Then
            Debug.Print ("匹配关键字")
        Else
            Debug.Print ("无匹配关键字")
        End If
    End Sub
    

    以上三种方法,都只需要在代码中维护一处关键字数组就可以了,判断条件增多了,也无需对其他部分代码进行更新和调整。

    展开全文
  • 作者:金人瑞 《Excel VBA175例无理论纯实战教程》学员最近正在学习郑广学老师的VBA 175例教程,这是一篇新手向的文章,也是一个新手的总结,高手可以批评文章中的不足之处,也可以无视,VBA中的IF判断, 判断一般起到...
  • VBA第5课 select多条件判断

    万次阅读 2015-05-01 11:40:05
    Sub select多条件判断() Select Case Sheet1.[b1].Value Case Is > 0 MsgBox "大于0" Case Else MsgBox "小于或等于0" End Select End Sub Sub select多条件判断2() Select Case Sheet1.[b1].Value Case "12" Sheet...
  • 一 理解分支条件语句 1.1 VBA里的3种语句 顺序执行的block 分支判断语句(典型的就是指if)--- 按顺序判断,... 所以很多判断逻辑,都得基于这个设计基础考虑 1.3 多层条件分支语句的嵌套(先小后大) 第1层(...
  • 在工作中,我们经常会遇到根据不同的情况进行判断并做出不同的操作,有时候需要的是单条件的判断,有时候需要的是多条件判断。1、单条件的判断语句:学习函数时我们经常用IF来判断VBA 中也一样。语法如下:if ...
  • VBA语句 - 判断语句

    2018-08-21 19:46:00
    (1)IF判断语句 单条件判断 Sub 单条件判断() If Range("a1") > 0 Then Range("b1") = "正数" Else Range("b1") = "负数或0" ...多条件判断1 ...Sub 多条件判断1() If Range("a1") &...
  • VBA世界里,也有与IF语句齐名的判断语句-Select Case多条件判断语句。一.Select Case判断语句首先,先来了解一下Select Case判断语句。它的功能是根据不同的条件返回不同的值。与IF语句区别在于更适用多条件判断,...
  • 上一篇文章我们给大家分享了连接运算符并且举了一些例子,那么这一篇文章我们将给大家分享一下VBA基本语法的条件判断IF语句程序。VBA中的if程序语句可以解决很的问题。主要就是判断条件,当判断条件满足时才去执行...
  • 下面是一位群友付费请教的问题(感谢愿为知识付费的同学),这里分享给大家:上面的数据经过了简化,当然实际数据有很。要求:根据A列和C列的类别筛选数据并输出到新的工作簿,工作簿的名字最好能辨识工作簿里的数据...
  • GIL214:Excel VBA中简单的if逻辑判断​zhuanlan.zhihu.com这里继续对if进行更加深入地加以运用,添加一个elseif来实现多层逻辑判断,在Excel函数中相当于增加条件进行判断。回到我们的数据源中,以学生的成绩为...
  • 在工作中,我们经常会遇到根据不同的情况进行判断并做出不同的操作,有时候需要的是单条件的判断,有时候需要的是多条件判断。1、单条件的判断语句:学习函数时我们经常用IF来判断VBA 中也一样。语...
  • VBA-判断语句之IF

    万次阅读 2018-11-08 15:28:51
    '判断语句IF单条件与多条件判断 Sub IF条件判断之单条件1() Dim a%, b% '声明变量 a = 2 '给变量赋值 b = 2 '给变量赋值 If a = b Then MsgBox "相等" '如果a等于b,就输入到窗口显示“相等” End Sub ...
  • 在工作中,我们经常会遇到根据不同的情况进行判断并做出不同的操作,有时候需要的是单条件的判断,有时候需要的是多条件判断。1、单条件的判断语句:学习函数时我们经常用IF来判断VBA 中也一样。语法如下:if ...
  • VBA世界里,也有与IF语句齐名的判断语句-Select Case多条件判断语句。一.Select Case判断语句首先,先来了解一下Select Case判断语句。它的功能是根据不同的条件返回不同的值。与IF语句区别在于更适用多条件判断,...
  • 这一节来教教大家VBA中的判断结构IF语句。在VBA中,IF判断语句是非常重要的一个部分... THEN ...ELSEIF...(分支语句)下面我们分别来看看三种方式的用法:如果条件成立,那么执行语句。语句结构如下:If条件Then 执...
  • 循环语句是很多人开始使用VBA的理由,因为在批量处理大量数据的多条件判断时,函数已经没办法满足我们的需求了。而VBA可以使用简单的循环完成这一工作。循环语句1.For...Next语句在上一篇我们介绍判断语句的时候,就...
  • VBA select case

    2020-12-09 17:15:50
    select case 在多条件判断时候比if else 更加易写易读,逻辑更清晰 ID course score mark 小明 English 1 小红 Chinese 60 小军 Math 100 Sub shishi() Dim i As Integer For i = 2 To 4 '相比if else if ...
  • VBA语法(2)

    2019-12-16 21:43:05
    一、判断语句 1. iF判断 //单条件判断 Sub 判断1() If Range("a1").Value > 0 Then Range("b1") = "A1的值是正数" Else Range("b1") = "A1的值是负数或者零" ...//多条件判断 Sub 判断2() If Range("a1"...
  • Excel_VBA教程

    2014-09-22 11:36:34
    第八节 判断语句 2 第九节 循环语句 3 第十节 其他类语句和错误语句处理 4 第十一节 过程和函数 4 一.Sub过程 4 二.Function函数 5 三.Property属性过程和Event事件过程 5 第十二节内部函数 5 一.测试函数 5 二...
  • 但是在我们有些时候,并不需要他按照流程执行,而是需要跳过某些语句进行执行,或者判断条件来执行的语句,这个时候我们就需要使用控制代码执行的方式,具体的几种控制执行方式如下,我们会一一讲解的。GOTO 语句IF-...
  • 提高运行效率一般而言只是使用 Excel 的内置工作表函数,在运算方面还是很高效的,但有时因为一个单元格牵扯的计算太,比如调用单元格数据,对结果文本进行部分替换,按照优先级和条件判断来确定不同的返回结果...
  • VBA与数据库

    2015-11-19 18:07:38
    •实例5-4 将个工作簿的某个工作表数据汇总为新Access数据库(Access) 131 •实例5-5将个工作簿的某个工作表数据保存为不同的数据表(Access) 132 •实例5-6 将工作表数据保存到已有的Access数据库(循环方式...
  • VBA 跳出循环的说法

    千次阅读 2020-01-03 15:25:56
    if then elseif then else end if 单个分支判断语句不需要跳出循环,一次判断即分流了 循环和if嵌套了, ...否则会判断 ...for 不能识别这种判断,只能从头到尾 ...自身带判断条件,自身就带 ...
  • VBA基础 - 分支和循环

    2019-09-29 23:52:26
    概要 编程语言的基础除了数据类型, 就是控制结构了. 所谓控制结构, 主要就是分支和循环. 分支 废话不说, 直接示例代码: 单条件判断 1 Sub Test() 2 If 2 >...多条件判断 if-elseif-else 结构 1 O...
  • Excel VBA技巧实例手册

    2016-07-28 22:29:39
    第1篇 ExcelVBA基础 第1章 了解Excel宏 1.1 创建宏 技巧001显示“开发工具”选项卡 技巧002录制第一个宏 技巧003在VBE中创建宏 1.2 管理宏 技巧004运行宏 技巧005编辑宏 技巧006保存宏 技巧007设置宏的安全性 第2...
  • Excel VBA 基础教程

    2019-01-01 18:51:06
    判断语句................................................................................................................................2 第九节 循环语句..................................................

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

vba多条件判断