目前收到以下错误:
运行时错误 - 对象'排序'的方法'应用'失败
基于以下代码:
'In the MTD Crystal Reports workbook that has the new data, sort the data
Range("A2:AF65536").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A65536" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A2:AF65536")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
非常感谢任何帮助。 谢谢!
答案 0 :(得分:1)
愚蠢的错误,但我将此作为解决方案发布,因为它可能会影响其他人。
我发布的代码足以运行,错误是由于我有Excel选项>公式>工作簿计算"手动"
当我将工作簿计算更改为"自动"时,排序问题已得到纠正。
答案 1 :(得分:0)
在正在排序的工作表上隐藏行也会导致此错误。
答案 2 :(得分:0)
此解决方案不适用于您的特定问题,但我发布此处是为了搜索此错误的任何人的利益。
在ListObject.AutoFilter对象下引用Sort成员也会导致此错误。这是我的代码:
Selection.ListObject.AutoFilter.Sort.SortFields.Add 'etc.
...
Selection.ListObject.AutoFilter.Sort.Header = xlYes 'etc.
...
Selection.ListObject.AutoFilter.Sort.Apply 'error raised here.
我通过直接从ListObject对象引用Sort成员来解决我的问题:
Selection.ListObject.Sort.Sortfields.Add 'etc.
...
Selection.ListObject.Sort.Header = xlYes 'etc.
...
Selection.ListObject.Sort.Apply 'method executed successfully.
希望我帮助过。