2

最高と最低の数値を取得するプログラムをExcelで作成しています。私は最大の番号を取得しますが、最小の番号は常に0のままです。私が間違っていることを助けてください。これは私が使用している番号のスクリーンショットです:

Pictue

これは私が作成したコードです:

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

これを修正するには、次の2つのオプションがあります。

  1. 変数を999などの高い数値として初期化します
  2. 最初のセルの値を読み込み、最小の開始点として設定します
于 2012-10-10T14:56:09.160 に答える