我无法使用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列有可能的条目。所以我试图使用自动过滤器对每个条目进行分组。
答案 0 :(得分:1)
以下内容适用于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
对数据进行排序并选择过滤列(H列)。没有应用过滤器,因为没有指定该区域,也没有提供样本数据或预期结果。