如何用VBA将excel中的一列值进行从小到大排序,然后显示到excel上喔??

Public Sub tt()
Dim a(2 To 100) As Double
Dim i As Integer, j As Integer, n As Integer
Dim t As Double
For i = 0 To n - 1
For j = i + 1 To n - 1
If a(i) > a(j) Then
t = a(i)
a(i) = a(j)
a(j) = t
End If
Next j
Next i
For i = 0 To n - 1
Next
End Sub
我的从小到大排序程序是这样的~~如何用VBA将excel中的一列值进行从小到大排序,然后显示到excel上喔??

假设源数据在A列,排好的数据输出到B列,代码如下:

Sub s()
    Dim arr, i, j, n, tmp
    n = Cells(Rows.Count, 1).End(3).Row
    arr = [a1].Resize(n)
    For i = 2 To n
        For j = n To i Step -1
            If arr(j, 1) < arr(j - 1, 1) Then
                tmp = arr(j, 1)
                arr(j, 1) = arr(j - 1, 1)
                arr(j - 1, 1) = tmp
            End If
        Next
    Next
    [b1].Resize(n) = arr
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-08-06
Columns("A:A").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal本回答被提问者采纳