下面是一个示例代码,可以根据特定列数对Excel表格进行排序。
Sub SortByColumn()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long
Dim sortColumn As Integer
' 设置工作表和排序范围
Set ws = ThisWorkbook.Sheets("Sheet1")
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
Set rng = ws.Range("A1:C" & lastRow)
' 设置排序列
sortColumn = 2 ' 按第2列排序
' 应用排序
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=rng.Cells(1, sortColumn), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange rng
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' 清除排序对象
Set ws = Nothing
Set rng = Nothing
End Sub
这个示例代码假设你要对Sheet1
上的A1:C
列进行排序,按第2列升序排序。你可以根据需要修改这些值。
要使用这个代码,打开Excel,按ALT + F11
打开VBA编辑器,然后插入一个新的模块,在模块中复制粘贴上述代码。然后按F5
运行代码,它将根据你的设置对指定的列进行排序。
上一篇:按特定列排序然后按该列的值排序
下一篇:按特定列数排序分面图层