我是VBA的新手(我希望我能坚持使用Javascript),我对排序数组有疑问。 我有这个二维数组来跟踪像这样的球员得分
P1 P2 P3 P4 P5 P6 P7 P8 P9
23 12 34 11 21 56 32 35 27
我想对数组进行排序,以便玩家按照从最低到最高的分数顺序排列
P4 P2 P5 P1 P9 P7 P3 P8 P6
11 12 21 23 27 32 34 35 56
我还不知道如何在VBA中执行此操作。我试着找一个排序功能,但无济于事。我需要包含一些库吗?
如果没有可用的库,有谁知道如何解决这个问题?
此致 Crouz
答案 0 :(得分:1)
将数据放入 A1 至 I2 :
然后运行此宏:
Sub Macro4()
Range("A1:I2").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:I2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:I2")
.Header = xlYes
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub
注意:强>
这是宏记录器。
答案 1 :(得分:-1)
我查了一下,果然,一些SO冠军已经在VBA中组合了QuickSort例程。这是一个链接: