2

我正在 Excel 中创建一个获取最高和最低数字的程序。我得到了最高的数字,但最低的数字始终保持在 0。请帮助我做错了什么。这是我正在使用的数字的屏幕截图:

图片

这是我创建的代码:

Sub Code()
    Dim i As Integer
    Dim max, min As Long

    For i = 1 To 10

        If Cells(i, 1).Value < min Then
            min = Cells(i, 1).Value
        End If

        If Cells(i, 1).Value > max Then
            max = Cells(i, 1).Value
        End If

    Next i

    Cells(3, 4).Value = min
    Cells(4, 4).Value = max

End Sub
4

2 回答 2

3

选择:

max = WorksheetFunction.max(Range("A1:A10"))
min = WorksheetFunction.min(Range("A1:A10"))
于 2012-10-10T16:02:36.090 回答
1

您的min变量在声明时默认为 0。因此,由于您的值都不是负数,因此min变量将保持为零(没有任何值小于它)。下面的If...Then陈述永远不会是真的:

If Cells(i, 1).Value < min Then
    min = Cells(i, 1).Value
End If

您有两种选择来解决此问题:

  1. 将变量初始化为高数,例如 999
  2. 读入第一个单元格中的值并将其设置为 min 的起点
于 2012-10-10T14:56:09.160 回答