清除所有排序字段VBA

问题描述 投票:0回答:1

我正在尝试通过 Excel VBA 对数据进行排序,但它已经按不同的标头排序。在设置新排序字段之前,如何清除所有排序字段?我已经尝试过

Sort.SortFields.Clear
但没有成功。任何帮助将不胜感激。这是我正在使用的代码:

 Sheet9.Activate

Columns("J:J").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(1, "J").Value = "InternalID"
Set rng2 = FindHeader("CLIENT NAME", Sheet9.Name)


Count = 1

Sheet9.Cells.Select

With Sheet9.Sort
        .SortFields.Clear
        .SortFields.Add Key:=rng2, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
vba sorting excel
1个回答
0
投票
ActiveSheet.Range("Your_Range_Value").AutoFilter Field:=1

我对每个具有排序字段的列都执行了此操作,并将其清除。其中 Field:=X 是您要清除的范围内的列号。

这就是我的工作簿中的内容。 Sheet1 是工作表的代码名称,rng 是表示范围值的字符串(“B4:G1500”)

' Clear all filters 
Sheet1.Range(rng).AutoFilter Field:=1 
Sheet1.Range(rng).AutoFilter Field:=2
Sheet1.Range(rng).AutoFilter Field:=3
Sheet1.Range(rng).AutoFilter Field:=4
Sheet1.Range(rng).AutoFilter Field:=5
Sheet1.Range(rng).AutoFilter Field:=6
© www.soinside.com 2019 - 2024. All rights reserved.