首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel VBA中简单的if逻辑判断

在Excel的函数中我们有if函数,给定一个条件,如果正确则如何,否则如何。如图,我们对学生的某科成绩判断及格或不及格。

当成绩大于等于60,则为及格,否则不及格。之后再把公式下拉填充即可完成对所有学生的成绩判定。

如何能通过VBA代码来对学生成绩进行一次性判定?

1. 首先还是来到VBA的编程环境,点击“开发工具”> “Visual Basic”> 添加一个新的模块。

2. 添加或手动写一个新的过程。

Sub 成绩判定()

End Sub

3. 添加if逻辑判断,如果F2单元格的成绩大于等于60,则G2单元格输入“及格”。

Sub 成绩判定()

If Range("F2") >= 60 Then

   Range("G2") = "及格"

End If

End Sub

4. 以上只是针对一个单元格进行判断,如果要对所有学进行判断,则要用到的for循环。

Sub 成绩判定()

Dim i As Integer

For i = 2 To 17

   If Range("F" & i) >= 60 Then

       Range("G" & i) = "及格"

   End If

Next

End Sub

5. 执行上面的代码,我们可以看到会自动为学生成绩进行判定。

6. 但是我们会发现不完整,有一些并未进行判断,是因为我们在Excel中if函数可以直接写出来,如果不正确的情况,则如何。因此,在VBA中,需要加上else,也就是“否则如何”。

Sub 成绩判定()

Dim i As Integer

For i = 2 To 17

   If Range("F" & i) >= 60 Then

       Range("G" & i) = "及格"

   Else

       Range("G" & i) = "不及格"

   End If

Next

End Sub

7. 最后再次执行后,则会对所有学生的成绩进行及格或不及格的判断。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210103A07K3Y00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券