VBAmacrosExcel

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

Pictue

这是我创build的代码:

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 

声明minvariables的默认值为0。 因此,由于您的值都不是负数,所以minvariables将保持为零(所有值都不会小于它)。 下面的If...Then语句永远不会是真的:

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

你有两个select来解决这个问题:

  1. 初始化该variables为一个高数字,如999
  2. 读入第一个单元格中的值并将其设置为min的起始点

替代scheme:

 max = WorksheetFunction.max(Range("A1:A10")) min = WorksheetFunction.min(Range("A1:A10"))