Excel 如何对表格进行自动排序

Excel 如何对表格进行自动排序,excel,vba,sorting,Excel,Vba,Sorting,我正在尝试对三列进行自动排序。打开文件时,我收到以下错误消息 我们发现“Blank.xlsm”中的某些内容有问题。是否希望我们尽可能多地恢复?如果您信任此工作簿的来源,请单击“是” 单击“是”时,会出现一个弹出窗口,显示: “Excel能够通过修复或删除不可读的内容来打开文件。 删除记录:从/xl/worksheets/sheet2.xml部分排序” 我正在使用以下代码: 子排序多个列() 使用ActiveSheet.Sort .SortFields.Add键:=范围(“C6”),顺序:=xl

我正在尝试对三列进行自动排序。打开文件时,我收到以下错误消息

我们发现“Blank.xlsm”中的某些内容有问题。是否希望我们尽可能多地恢复?如果您信任此工作簿的来源,请单击“是”

单击“是”时,会出现一个弹出窗口,显示:

“Excel能够通过修复或删除不可读的内容来打开文件。
删除记录:从/xl/worksheets/sheet2.xml部分排序”

我正在使用以下代码:

子排序多个列()
使用ActiveSheet.Sort
.SortFields.Add键:=范围(“C6”),顺序:=xl
.SortFields.Add键:=范围(“B6”),顺序:=xl升序
.SortFields.Add键:=范围(“H6”),顺序:=xl
.SetRange范围(“B6:I40”)
.Header=xlYes
.申请
以
端接头
私有子工作表_更改(ByVal目标作为范围)
调用SortMultipleColumns
端接头

下面的代码显示了如何按升序对数据进行排序(如果您以前创建过表)

Dim ws As工作表
设置ws=ActiveSheet
作为ListObject的Dim tbl
设置tbl=ws.ListObjects(“您的表”)
变暗sortcolumn As范围
设置sortcolumn=Range(“您的表格[标题名称]”)
用tbl排序
.SortFields.Clear
.SortFields.Add键:=sortcolumn,SortOn:=xlSortOnValues,顺序:=xlAscending
.Header=xlYes
.申请
以
标题\u Name中,写入要用于排序数据的标题

要对多个列进行排序,只需在另一列下添加:

.SortFields.Add Key:=rRange2, SortOn:=xlSortOnValues, Order:=xlAscending

然后用另一列替换rRange2,并对其他列重复此过程。

能否添加设置的屏幕截图?