在 Vba 列的范围内查找最小值和最大值

Posted

技术标签:

【中文标题】在 Vba 列的范围内查找最小值和最大值【英文标题】:Finding Min and max in a range in a column Vba 【发布时间】:2019-02-11 00:03:54 【问题描述】:

我一直在尝试查找列的最小值和最大值,但似乎无法让我的代码正常工作。我尝试过 if 语句,for 循环,但似乎无法使其工作。我也一直在使用 application.worksheetfunction.min/max 并且无法正常工作。

Sub MinMax()
    Dim xmax As Double
    Dim xmin As Double
    Dim TableRow As Integer

    For i = 2 To lastrow   
        If cells("i,11").Value < cells(i + 1, 11).Value Then
            xmin = cells(i, 11).Value
            cells(3, 16).Value = xmin
        End If

        If cells(i, 11).Value > cells(i + 1, 11).Value Then
            cells(2, 16).Value = xmax
        End If
    Next i
End Sub

【问题讨论】:

lastrow 分配在哪里?这实际上是For i = 2 To 0 【参考方案1】:

试试这个:

Sub MinMax()

    Dim xmax As Double
    Dim xmin As Double

    Dim r As Range

    Set r = Range("K2:K" & Rows.Count)
    xmin = Application.WorksheetFunction.Min(r)
    xmax = Application.WorksheetFunction.Max(r)
End Sub

【讨论】:

我还需要将该最小值和或最大值附加到另一列的股票代码中。你知道从哪里开始吗? 不是粗鲁,而是 google.com ;) 可能你需要一个函数,而不是一个子。并使用此功能附加 - 但它只是猜测。 如果你觉得我的回答对你有帮助,你可以accept my answer。

以上是关于在 Vba 列的范围内查找最小值和最大值的主要内容,如果未能解决你的问题,请参考以下文章

如何缩小具有已知最小值和最大值的数字范围

查找金属纹理中的最小值和最大值

优化查询以确定一个值在最小值和最大值之间

在python中跨多个列表查找列的最小值

如何选择数据表中列的最小值和最大值?

根据列的总和返回最小值和最大值