【发布时间】:2019-09-27 09:21:24
【问题描述】:
我有一个大的 excel 文件,我正在尝试按行从左到右排序,一直在尝试使用vba 工作方法,但我的经验太低了。令人惊讶的是,完成本应简单的任务竟如此困难。
我在另一篇文章中尝试过这段代码,但正在混合它们,只有第一行被安排。
Sub sortfile22()
Dim keyrange As String
Dim DataRange As String
keyrange = "A1:T1"
DataRange = "A1:T8"
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range(keyrange), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range(DataRange)
.Header = xlYes
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub
我的数据看起来像这样
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
48 1 16 40 75 21 50 3 35 73 80 53 33 46 38 2 69 54 63 79
54 27 62 56 79 67 71 75 28 35 78 66 60 65 5 47 31 38 68 21
56 77 43 9 64 80 72 16 17 46 10 22 63 34 41 8 53 60 6 79
【问题讨论】:
-
阅读How to avoid using Select in Excel VBA可能会让您受益。
标签: excel vba sorting excel-2010