我有几个类似的例子,所有的声明都可以工作,但我的不是。 Excel的2013,Office 365的使用VBA对Excel中的一个范围进行排序
' Sort the "URLs" worksheet after update
Worksheets("URLs").Activate
lngLastRow = Cells(65536, Range.Column).End(xlUp).Row
Set Range = Worksheets("URLs").Range("A3:E" & lngLastRow)
Worksheets("URLs").Sort.SortFields.Clear
Worksheets("URLs").Sort.SortFields.Add Key:=Range("B4:B" & lngLastRow), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
Worksheets("URLs").Sort.SortFields.Add Key:=Range("A4:A" & lngLastRow), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Worksheets("URLs").Sort
.SetRange Range("A3:E" & lngLastRow)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
即使我不使用页眉(变化幅度( “A3”),以 “A4”)和手动使用结束范围( “33”,而不是lngLastRow),我得到错误“运行时错误'5':无效的过程调用或参数”。
我用记录器创建了这个宏。我不知道为什么录制的宏在宏中不起作用。
我从来没有得到任何与“:=”的工作。我一直需要解决这个问题,但在这种情况下,我也无法弄清楚。
尝试改变'键:=范围( “B4:B” &lngLastRow)'来'键:=工作表( “网址”)范围( “B4:B” &lngLastRow)'。对于'Range(“A3:E”&lngLastRow)'和'Range(“A4:E”&lngLastRow)'同样的事情。让我们知道它是否有帮助:) –