我有幾個類似的例子,所有的聲明都可以工作,但我的不是。 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)'同樣的事情。讓我們知道它是否有幫助:) –