Excel ';1004';:该排序引用无效。确保它';s位于要排序的数据中,第一个排序依据框为';不一样或空白

Excel ';1004';:该排序引用无效。确保它';s位于要排序的数据中,第一个排序依据框为';不一样或空白,excel,vba,Excel,Vba,我试图对一个值的范围进行排序,以从最小值到最大值的顺序显示,但由于某种原因,我在“.Apply”处得到上述错误。有人知道如何解决这个问题吗?这是为了一些即将到期的事情,所以及时的帮助将是一个真正的救命恩人 Selection.AutoFilter ActiveWorkbook.Worksheets("Filter ClientID").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Filter

我试图对一个值的范围进行排序,以从最小值到最大值的顺序显示,但由于某种原因,我在“.Apply”处得到上述错误。有人知道如何解决这个问题吗?这是为了一些即将到期的事情,所以及时的帮助将是一个真正的救命恩人

Selection.AutoFilter
ActiveWorkbook.Worksheets("Filter ClientID").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Filter ClientID").AutoFilter.Sort.SortFields.Add2 _
    Key:=Range("O9:O50"), SortOn:=xlSortOnValues, Order:=xlAscending, _
    DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Filter ClientID").AutoFilter.Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

您不能“为一个值对范围进行排序”。您可以为一个值筛选一个范围。如果之前对范围进行了排序,则过滤器显示的部分也将进行排序。因此,首先对数据进行排序,然后对其进行筛选。如果正在排序的工作表未处于活动状态,则密钥将位于不同的工作表上。问题是,首先我运行高级筛选以缩小结果范围,然后我必须对结果运行另一个筛选以将其从最小到最大进行组织,因此我无法事先按价格进行筛选。