VBA Max功能|如何在Excel VBA中使用最大值查找最大值?

顾名思义,最大值用于从给定的数据集或数组中找出最大值,这是一个工作表函数,因此它与工作表方法一起用作工作表函数,因此该方法存在局限性函数以数组作为参数,数组中只能有30个值。

Excel VBA Max功能

我们在excel中有几个数值函数。我们可以计算范围内的数值,可以求和,也可以找到手数的最小值和最大值。为了找到批次的最大值,我们有一个称为MAX的excel函数,它将返回所提供数字范围的最大值。在VBA中,我们没有任何称为“ MAX”的内置函数来获取最大数量。我们将看到如何使用此Excel VBA Max函数。

Excel VBA中最大功能的示例

不幸的是,我们不能将MAX用作VBA内置函数,但可以将其作为Worksheet Function类的一部分进行访问。

现在,看下面的代码。

代码:

 Sub MAX_Example1()Dim a作为整数Dim b作为Integer Dim c作为Integer Dim结果作为Integer a = 50 b = 25 c = 60结果= WorksheetFunction.Max(a,b,c)MsgBox结果End Sub 

在上面的示例中,我声明了三个变量来存储数字。

昏暗为整数Dim b作为整数Dim c作为整数

我已经声明了另一个变量来显示结果。

结果为整数。

对于前三个变量,我分别指定了50、25和60这样的值。

a = 50b = 25c = 60

在下一行中,我将MAX用作VBA工作表函数类,以将结果存储到变量“ Result”。

结果= WorksheetFunction.Max(a,b,c)

所以最后我将在VBA的消息框中显示该值。 MsgBox结果

现在,我将使用F5或手动运行此代码,然后在消息框中查看结果。

因此,结果是60。

在提供的所有数字(即50、25和60)中,最大数字为60。

Excel VBA中Max的高级示例

在VBA中,循环对于遍历所有单元并得出结果非常重要。我们将看到如何将VBA MAX与循环结合使用以从数字列表中获得最大值。

我有一个项目列表以及这些项目的每月销售业绩,如下所示。

现在,对于每个商品,我想知道如图所示的4个月内最大销售数量是多少。

通过在Excel中应用MAX,我们可以在几秒钟内找到它。

现在,我们将看到如何使用VBA代码查找最大值。

下面的代码将执行查找每个项目的最大数量的任务。

代码:

 Sub MAX_Example2()Dim k作为整数,对于k = 2到9个像元(k,7)。值= WorksheetFunction.Max(Range(“ A”&k&“:”&“ E”&k))下一个k结束 

这样可以轻松确定最大数量。

现在,手动运行代码或按F5键并查看结果,如下所示。

为了获得最大值月份名称,请使用以下代码。

代码:

 Sub MAX_Example2()Dim k作为整数,其中k = 2至9个单元格(k,7).Value = WorksheetFunction.Max(Range(“ B”&k&“:”&“ E”&k))Cells(k, 8).Value = WorksheetFunction.Index(Range(“ B1:E1”),WorksheetFunction.Match _(Cells(k,7).Value,Range(“ B”&k&“:”&“ E”&k) ))下一个k结束子 

根据VBA max函数提供的值,INDEX函数和MATCH函数将在下一行返回关联的月份。

要记住的事情

  • 如果有重复的号码,则只会显示一个数字,然后是第一个。
  • 这是excel中MIN函数的相反公式。
  • MAX不是VBA函数,它是excel中的内置函数,因此请使用工作表函数类。

您可以在此处下载此Excel模板– VBA Max功能模板