Excel VBA中简单的if逻辑判断

在Excel的函数中我们有if函数 , 给定一个条件 , 如果正确则如何 , 否则如何 。 如图 , 我们对学生的某科成绩判断及格或不及格 。
Excel VBA中简单的if逻辑判断
文章图片
当成绩大于等于60 , 则为及格 , 否则不及格 。 之后再把公式下拉填充即可完成对所有学生的成绩判定 。
如何能通过VBA代码来对学生成绩进行一次性判定?
1.首先还是来到VBA的编程环境 , 点击“开发工具”>“VisualBasic”>添加一个新的模块 。
Excel VBA中简单的if逻辑判断
文章图片
2.添加或手动写一个新的过程 。
Excel VBA中简单的if逻辑判断
文章图片
Sub成绩判定()
EndSub
3.添加if逻辑判断 , 如果F2单元格的成绩大于等于60 , 则G2单元格输入“及格” 。
Excel VBA中简单的if逻辑判断
文章图片
Sub成绩判定()
IfRange("F2")>=60Then
Range("G2")="及格"
EndIf
EndSub
4.以上只是针对一个单元格进行判断 , 如果要对所有学进行判断 , 则要用到的for循环 。
Excel VBA中简单的if逻辑判断
文章图片
Sub成绩判定()
DimiAsInteger
Fori=2To17
IfRange("F"&i)>=60Then
Range("G"&i)="及格"
EndIf
Next
EndSub
Excel VBA中简单的if逻辑判断】5.执行上面的代码 , 我们可以看到会自动为学生成绩进行判定 。
Excel VBA中简单的if逻辑判断
文章图片
6.但是我们会发现不完整 , 有一些并未进行判断 , 是因为我们在Excel中if函数可以直接写出来 , 如果不正确的情况 , 则如何 。 因此 , 在VBA中 , 需要加上else , 也就是“否则如何” 。
Excel VBA中简单的if逻辑判断
文章图片
Sub成绩判定()
DimiAsInteger
Fori=2To17
IfRange("F"&i)>=60Then
Range("G"&i)="及格"
Else
Range("G"&i)="不及格"
EndIf
Next
EndSub
7.最后再次执行后 , 则会对所有学生的成绩进行及格或不及格的判断 。
Excel VBA中简单的if逻辑判断
文章图片