Excel 从VBA代码起作用,到代码中没有更改,然后代码突然不起作用';行不通
我使用以下代码对两列进行排序Excel 从VBA代码起作用,到代码中没有更改,然后代码突然不起作用';行不通,excel,vba,Excel,Vba,我使用以下代码对两列进行排序 Sub SortMultipleColumns() Sheet1.Activate With ActiveSheet.Sort .SortFields.Add Key:=Range("Q10"), Order:=xlAscending .SortFields.Add Key:=Range("R10"), Order:=xlAscending .SetRange Range("Q10
Sub SortMultipleColumns()
Sheet1.Activate
With ActiveSheet.Sort
.SortFields.Add Key:=Range("Q10"), Order:=xlAscending
.SortFields.Add Key:=Range("R10"), Order:=xlAscending
.SetRange Range("Q10:R9999")
.Header = xlNo
.Apply
End With
End Sub
列Q是整数,列R是字符串
排序工作正常,5分钟后我没有做任何更改,我知道我遇到了以下错误:“运行时错误1004”应用程序定义的错误或对象定义的错误。根据调试器,错误会在.Apply之后出现。请尝试添加.SortFields.Clear,然后再添加键。否则,它将再次尝试添加相同的键,这可能是导致错误的原因
With ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add Key:=Range("Q10"), Order:=xlAscending
.SortFields.Add Key:=Range("R10"), Order:=xlAscending
.SetRange Range("Q10:R9999")
.Header = xlNo
.Apply
End With
感谢您,它似乎也适用于工作表(“Sheet1”).Range(“Q10:R”和.Range(“R10”).End(xlDown).Row)。Sort Key1:=范围(“R10”),Order1:=xlAscending,Header:=xlNo End with如果您最多使用3个字段,则可以使用更简单的方法。