vb中judge是什么意思
发布网友
发布时间:2023-02-20 09:09
我来回答
共1个回答
热心网友
时间:2023-10-21 09:37
这一节理解起来可能会有些困难,可能需要不断的反复的去复习才能理解,我起初学习也是这样,学了马上就忘记了,然后不断的重头来,这样直到掌握为止,可能一开始就没有理解透彻吧。
我们还是举个例子来说明我们今天要给大家介绍的内容吧。我们经常会碰到一些数据,然后用条件格式进行一些处理加工,比如成绩吧,低于60的,我们显示红色,其他不变,相信这个大家都会了。那么我们今天用VBA来实现:如果成绩小于60,那么60那一栏会显示字样:有待改进:59(59为该人实际得分)
代码如下:
Sub example()
With ThisWorkbook.Worksheets(1)
maxrow = .UsedRange.Rows.Count
For i = 2 To maxrow
If .Cells(i, 2).Value < 60 Then
.Cells(i, 2).Value = "有待改进:" & .Cells(i, 2).Value
End If
Next
End With
End Sub
大家在第二行填写好分数之后,运行该程序就可以看到变化了。
说到这里可以大家还是不明白,这个跟以前学习的没什么区别的嘛,不慌,我们接着往下走。
如果我们只想判断A2单元格中的内容是否小于60,如果小于的话就把里面的内容改成:不合格(分数)。看代码:
sub celljudge()
with thisworkbook.worksheets(1).cells(1,2)
if.value<60 then
.value="不合格("& .value &")"
end if
end with
End sub
这个是判断单个的单元格,但是如果老板说你再判断另外一个,比如A5,那么我们就又要写一遍,哪天老板心血来潮又来一列,这个时候我们就要抓狂了,你*不能一次说完么?老板肯定也会说了,你*不能一次写完整么?
这个时候就真的到了我们今天的重点了。VBA当然有办法解决上述要求。老板其实一点都不过分哈~~老板的要求无非就是指定一个单元格,然后判断。我们就实现他。
下面的程序分成两个部分,有兴趣的同学可以无须改动下面任何字样(含中文)就直接将源代码拷贝后进行测试哈~~
sub judge(老板指定的单元格)
with 老板指定的单元格 '直接就这样写成中文,不用改任何东西
if .value < 60 then
.value = "不合格(" & .value & ")"
end if
end with
End sub
sub celljudge()
with thisworkbook.worksheets(1)
call judge(.range("A2"))
call judge(.range("A5"))
end with
end Sub
OK,代码部分结束,如果老板再说需要检查哪个单元格,你只需要在第二段的代码后面写"call judge(.range("哪个单元格"))就好了。然后运行就好了。
通过上述的代码,相信大家肯定有个发现,就是那个sub + 名称 +()中的那个括号里面终于用起来了。那么这个是干什么的呢?
我们把judge(老板指定的单元格)这一部分的程序就称为子程序。然后进行调用。让后面出现的单元格照着子程序进行执行。
Call是VBA中的专有词汇,表示调用的意思。当VB执行到这个地方的时候,他就会去执行Judge子程序。