|
楼主 |
发表于 2011-9-22 01:08
|
显示全部楼层
請看一下這個代碼:- Sub max1()
- Sheet1.Activate
- Application.ScreenUpdating = False
- Sheet1.UsedRange.Offset(0, 5).ClearContents
- R = [e65536].End(3).Row
- For i = 2 To R
- If IsNumeric(Cells(i, 5)) Then Cells(i, 8) = Cells(i, 5) Else: Cells(i, 8) = ""
- Next
- For i = 2 To R Step 5
- Cells(i, 6) = Application.Max(Range(Cells(i, 8), Cells(i + 4, 8)))
- Cells(i, 7) = Application.Min(Range(Cells(i, 8), Cells(i + 4, 8)))
- Next
- [f1].Resize(1, 2) = Array("max", "min")
- Sheet1.UsedRange.Offset(0, 7).ClearContents
- Application.ScreenUpdating = True
- End Sub
- Sub max2()
- Sheet1.Activate
- arr = Range("e2", [e65536].End(3).Offset(5))
- For i = 1 To UBound(arr)
- If IsNumeric(arr(i, 1)) Then arr(i, 1) = arr(i, 1) Else: arr(i, 1) = ""
- Next
- ReDim crr(1 To UBound(arr), 1 To 2)
- For i = 1 To UBound(arr) - 5 Step 5
- ReDim brr(1 To 5, 1 To 1)
- For k = 0 To 4
- brr(k + 1, 1) = arr(k + i, 1)
- Next
- crr(i, 1) = WorksheetFunction.Max(brr)
- crr(i, 2) = WorksheetFunction.Min(brr)
- Next
- [f1].Resize(1, 2) = Array("max", "min")
- [f2].Resize(UBound(arr), 2) = crr
- End Sub
复制代码 這樣運行的話, 找出的最大和最小相差值是包括正負號的, 但是我想以絕對值來比較, 比如第三組(E12:E16) 它找到最大是0.67, 最小是-0.28
但我想得出的結果是: 最大差值是0.67, 而最小差值則是 -0.02, 不知道該如何修改... |
|