小兔网

下面我们将看一下Excel VBA中的一个程序,该程序找到第二高的值

情况:

在Excel VBA中查找第二高价值

1.首先,我们声明两个Range对象和两个Double类型的变量。我们将Range对象称为rng和cell。我们将一个双精度变量称为highestValue,将一个双精度变量称为secondHighestValue。

Dim rng 作为范围,单元格作为范围
Dim maximumValue 作为 Double,secondHighestValue 作为 Double

2.我们使用选定范围和两个Double变量(值0)初始化Range对象rng。

设置 rng =选择
最高值= 0
秒最高值= 0

3.首先,我们要找到最高的价值。我们要检查随机选择范围内的每个单元格(该范围可以是任意大小)。在Excel VBA中,可以为此使用“每个下一个”循环。添加以下代码行:

“找出最大值
 每一个细胞 RNG

下一页细胞

注意:这里随机选择rng和cell,您可以使用任何名称。请记住在其余代码中引用这些名称。绿线是注释,仅在此处添加以提供有关这段代码的信息。

4.我们检查此范围内的每个单元格。如果它高于最高值,我们将该值写入变量最高值。将以下代码行添加到循环中。

如果 cell.Value> maximumValue, SupremeValue = cell.Value

注意:第一个值始终高于highestValue,因为highestValue的起始值为0。

5.第二,我们想找到第二高的价值。我们添加另一个For Each Next循环。

“寻找第二高值
对于 每一个细胞 RNG

下一页细胞

6.我们再次检查选定范围内的每个单元格。如果它高于secondHighestValue且低于maximumValue,则将值写入变量secondHighestValue。将以下代码行添加到循环中。

如果 cell.Value> secondHighestValue 并且 cell.Value <highestValue, secondHighestValue = cell.Value

7.最后,我们使用MsgBox显示第二高的值。

MsgBox“第二个最高值是”&secondHighestValue

8.将宏放在命令按钮中,选择数字,然后单击命令按钮。

结果:

查找第二高价值的结果