|
sanculans 发表于 2012-5-16 22:47
那个顺序是从最长到最短怎么该,你这个是最短到最长的
Sub 选择排序()
Dim arr, temp, x, y, t, iMax, k, k1, k2
arr = Range("a1:a50")
For x = UBound(arr) To 1 + 1 Step -1
iMax = 1
For y = 1 To x
If Len(arr(y, 1)) < Len(arr(iMax, 1)) Then iMax = y
Next y
temp = arr(iMax, 1)
arr(iMax, 1) = arr(x, 1)
arr(x, 1) = temp
Next x
Range("d1").Resize(UBound(arr)) = ""
Range("d1").Resize(UBound(arr)) = arr
End Sub
- Sub 选择排序()
- Dim arr, temp, x, y, t, iMax, k, k1, k2
- arr = Range("a1:a50")
- For x = UBound(arr) To 1 + 1 Step -1
- iMax = 1
- For y = 1 To x
- If Len(arr(y, 1)) < Len(arr(iMax, 1)) Then iMax = y
- Next y
- temp = arr(iMax, 1)
- arr(iMax, 1) = arr(x, 1)
- arr(x, 1) = temp
- Next x
- Range("d1").Resize(UBound(arr)) = ""
- Range("d1").Resize(UBound(arr)) = arr
- End Sub
复制代码
|
|