vba计算工作时间差_VBA代码解决方案的第50讲:VBA中如何求最大值、最小值

ca230eb647a39aab5fa67b3a30995b72.png

朋友们好,今日讲VBA代码解决方案的第50讲:VBA中求最大值、最小值的.和上节的内容一致,在VBA中我们可以利用的函数不如EXCEL中多,但是,我们可以借助于EXCEL的函数,来解决我们面临的问题。在VBA中虽然没有内置的函数可以进行最大、最小值的查找,但仍可以借助工作表Max、Min函数可以快速地在工作表区域中查找最大、最小值。

在本节的知识点中需要注意:

1 For Each 循环,这里就不再讲解,有不清楚的可以看看我上节的文章。

2 WorksheetFunction 表示应用的是工作表函数

3 MsgBox 这里是弹出对话框,告诉我们计算机算出的结果。

4 rng.Interior.ColorIndex 是单元格颜色的设置

这里再次看看一下EXCEL中各个颜色的值

b61ef3d9ad709c912e38226c26453210.png

下面我们看看代码:

Sub Myseeks()

Dim rng As Range

Dim myRng As Range

Dim k1 As Integer, k2 As Integer

Dim mymax As Double, mymin As Double

Set myRng = Sheets("Sheet3").Range("a1:f20")

For Each rng In myRng

If rng.Value = WorksheetFunction.Max(myRng) Then

rng.Interior.ColorIndex = 3

k1 = k1 + 1

mymax = rng.Value

ElseIf rng.Value = WorksheetFunction.Min(myRng) Then

rng.Interior.ColorIndex = 5

k2 = k2 + 1

mymin = rng.Value

Else

rng.Interior.ColorIndex = 0

End If

Next

MsgBox "最大值是:" & mymax & "共有 " & k1 & "个" _

& Chr(13) & "最小值是:" & mymin & "共有 " & k2 & "个"

End Sub代码解析:

Myseeks过程在工作表单元格区域中查找最大、最小值,并将其所在的单元格底色分别设置为红色和蓝色。

第2行到第5行代码声明变量类型。

第6行代码使用关键字Set将单元格引用赋给变量myRng。

第7行到第19行代码遍历单元格区域,使用工作表Max、Min函数判断单元格数值是否是所在区域的最大、最小值,如果是,将其所在的单元格底色设置为红色或蓝色,并保存其数值和数量。

第20、21行代码使用消息框显示最大、最小值数值和数量。

运行Myseeks过程后将工作表区域最大、最小值所在的单元格的底色设置为红色或蓝色并用消息框显示其数值和数量.

下面看代码实测,代码截图:

2dffead37f8d8205b0ee0bd47f9d9f47.png

运行截图:

e7c3b87b567ff37bc17dfb51703f7966.png

今日内容回向:

1 如何在VBA中获取最大最小值?

2 如何计算最大最小值的个数?

这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。

欢迎大家到我的自媒体平台沟通交流:个人微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。

工作不是一切。工作是每个人安身立命、成长发展的基础。但你要知道工作是永远也做不完的,时间会抹去很多问题。多关注自己、家人和朋友,这些才是我们生活中更为重要的东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值