查找并定位单元格区域中的最大值的方法

时间:2019-11-20
阅读:

在对Excel数据进行分析时,有时需要找到该区域中数据的最大值,使用VBA中的Find方法能够方便地实现这一操作。本文介绍查找并定位单元格区域中的最大值的方法。

1、启动Excel并打开Visual Basic编辑器,在工程资源管理器中插入一个模块,在模块的“代码”窗口中输入程序代码,如图1所示。具体的程序代码如下所示:

Sub GetMaxs()

Dim aRange As Range

Dim aMaxVal As Double

If TypeName(Selection)<>"Range "Then

Exit Sub '如果没有选中区域,则退出程序

End If

If Selection.Count=1 Then

Set aRange=Cells '如果仅选中一个单元格,则搜索整个工作表

Else

Set aRange=Selection

End If

aMaxVal=Application.Max(aRange) '获取区域中的最大值

On Error Resume Next

aRange.Find(aMaxVal,aRange.Range("A1"),xlValues,xlWhole,xlByRows,xlNext,False).Select

If Err<>0 Then

MsgBox"没有找到最大值:"&aMaxVal

End If

End Sub

图1 创建模块并输入程序代码

提示

程序使用Range对象的Find方法来进行查询,该方法的语法结构如下所示:

expression.Find(What,After,LookIn,LookAt,SearchOrder,SearchDirection,MatchCase,MatchByte,SearchFormat)

这里,What参数是必须的,其用来指定要搜索的数据,可为字符串或任意Microsoft Excel数据类型。After参数表示搜索过程将从其之后开始进行的单元格。LookIn参数用于设置信息类型。LookAt参数用于设置文本的匹配方式。SearchOrder参数用于指定搜索区域的次序。SearchDirection参数用于设置搜索的方向。MatchCase参数值若为True,则进行区分大小写的查找,其默认值为False。MatchByte参数仅在选择或安装了双字节语言支持时使用,若为True,则双字节字符仅匹配双字节字符;若为False,则双字节字符可匹配其等价的单字节字符。SearchFormat参数用于设置搜索的格式。

2、按F5键运行该程序,切换到Excel,工作表中的最大值所在单元格处于激活状态,如图2所示。

图2 最大值所在单元格被激活

返回顶部
顶部