Excel VBA自动过滤

我很难让自动过滤使用VBA工作。 我的代码工作一次,后来我得到一个运行时错误代码91.这是我的代码。 我知道这很简单,但我错过了什么? 提前致谢。

Dim MyWorksheet As Worksheet Set MyWorksheet = Sheets("entity details - cost summary") Sheets("entity details - cost summary").Select Range("H6").Select MyWorksheet.AutoFilter.sort.SortFields.Clear MyWorksheet.AutoFilter.sort. _ SortFields.Add Key:=Range("H6"), SortOn:=xlSortOnValues, Order:= _ xlAscending, DataOption:=xlSortTextAsNumbers With MyWorksheet.AutoFilter. _ sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 

更新:错误发生在第5行

 MyWorksheet.AutoFilter.sort.SortFields.Clear 

第5行是从列B到P的列标题。每一行代表不同的制造设备,每列代表不同的属性或成本。 H列有可能的条目。 所以我正在尝试使用自动筛选器来分组每个条目。

以下将对列B中的数据范围起作用:P从行5中的标题行开始并继续到列B中的最后一个值。

 Sub equip_sort() With Worksheets("entity details - cost summary") With .Range(.Cells(5, 2), .Cells(Rows.Count, 2).End(xlUp)) With .Resize(.Rows.Count, 15) .Cells.Sort Key1:=.Columns(7), Order1:=xlAscending, _ Orientation:=xlTopToBottom, Header:=xlYes .Columns(7).AutoFilter field:=1 End With End With End With End Sub 

数据被sorting并select一个过滤列(H列)。 没有filter应用,因为没有指定该区域的任何内容,也没有提供样本数据或预期的结果。