|
发表于 2016-6-25 20:48
|
显示全部楼层
本楼为最佳答案
本帖最后由 老司机带带我 于 2016-6-25 20:52 编辑
- Sub xx()
- Dim i&, tempA, tempB, j&, k&, arr, n%
- Range("h5:i8576").ClearContents
- arr = Range("b5:c" & Range("c1048576").End(3).Row)
- y = Int(UBound(arr, 1) / 4) * 4
- For k = 4 To y Step 4
- For i = k To k - 2 Step -1
- For j = k - 3 To i - 1
- If arr(j, 2) < arr(j + 1, 2) Then
- tempA = arr(j, 2)
- tempB = arr(j, 1)
- arr(j, 2) = arr(j + 1, 2)
- arr(j, 1) = arr(j + 1, 1)
- arr(j + 1, 2) = tempA
- arr(j + 1, 1) = tempB
- End If
- Next
- Next
- Next
- n = UBound(arr, 1) Mod 4
- If n >0 Then
- For i = UBound(arr, 1) To k - 4 + n - 2 Step -1
- For j = k - 4 + 1 To i - 1
- If arr(j, 2) < arr(j + 1, 2) Then
- tempA = arr(j, 2)
- tempB = arr(j, 1)
- arr(j, 2) = arr(j + 1, 2)
- arr(j, 1) = arr(j + 1, 1)
- arr(j + 1, 2) = tempA
- arr(j + 1, 1) = tempB
- End If
- Next
- Next
- End If
- Sheet1.Range("E5").Resize(UBound(arr, 1), 2) = arr
- End Sub
复制代码 |
评分
-
查看全部评分
|