【EXCEL_VBA_基础知识】02 使用IF进行逻辑判断

课程来源:王佩丰老师的《王佩丰学VBA视频教程》,如有侵权,请联系删除!

相信大家在平时使用EXCEL时,经常会使用到IF函数进行判断。那么,IF函数在VBA是怎么写呢?让我们跟随王佩丰老师课程,一起一探究竟!

另外,从王佩丰老师的课程中,还掌握了一个小技巧:当我们不知道一段代码如何编写时,可以通过录制宏的方式来查看功能实现的代码!

目录

1.0 小知识点

1.0.1 Range("单元格或区域位置"):代表取该位置的内容

1.0.2 AND/OR函数

1.1 IF代码结构

1.2 示例(单元格为空,则删除改行_由下往上循环操作)


1.0 小知识点

1.0.1 Range("单元格或区域位置"):代表取该位置的内容

Sheets(1).Range("E1") 
'代表第一张工作表的E1单元格区域 (最好写明哪张工作表,否则默认为当前选中的工作表)

Range("E" & i)  '当 i 为整数型变量时,可以代表Ei单元格(应用于循环操作)

1.0.2 AND/OR函数

条件1 And 条件2  ' 公式表达:AND(条件1,条件2)


条件1 Or 条件2 '公式表达:OR(条件1,条件2)

1.1 IF代码结构

If 条件1 Then
   ... ' 条件1为TRUE
Else
   ... ' 条件1为FALSE
End If


' IF函数嵌套
If 条件1 Then
    ... ' 条件1为TRUE
ElseIf 条件2 Then
    ... ' 条件2为TRUE
ELSE
    ... ' 条件1&条件2均为FALSE
End If
    

1.2 示例(单元格为空,则删除改行_由下往上循环操作)

× 正序时,若连续两行为空行,则第二行空行不能被正确删除!(ERROR)

  • 首先,因删除整行后(如第4行),下一行(第5行)会移动到上一行(原第4行位置)
  • 然后,因 i = 4 循环已操作,下一轮循环 i = 5 (即对原表第6行数据进行处理),因此第5行数据未被正确处理!

√ 倒序时,因当前处理行的下一行已被处理,因此即使删除空行后,下行上移,也不会影响操作!

【EXCEL_VBA_基础知识】02 使用IF进行逻辑判断_第1张图片

For i = 26 To 2 Step -1
    '处理性别的代码
    If Range("e" & i) = "男" Then
        Range("f" & i) = "先生"
    Else
        Range("f" & i) = "女士"
    End If
    
    '处理专业代号
    If Range("b" & i) = "理工" Then
        Range("c" & i) = "LG"
    ElseIf Range("b" & i) = "文科" Then
        Range("c" & i) = "WK"
    Else
        Range("c" & i) = "CJ"
    End If

你可能感兴趣的:(软件应用,excel)