我正在構建一個宏,根據它的值升序/降序一系列單元格。 的問題是,它不與下面的數據工作:按升序/降序排序vba excel不工作
11_NR-10.pdf 16_NR-10.pdf 1_NR-10.pdf 6_NR-10.pdf
當我嘗試整理,我得到以下結果:
1_NR-10.pdf 11_NR-10.pdf 16_NR-10.pdf 6_NR-10.pdf
是否有人知道如何幫助我嗎?
代碼:
Dim xlSort As XlSortOrder
Dim LastRow As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
If (.Range("A3").Value > .Range("A" & CStr(LastRow))) Then
xlSort = xlAscending
Else
xlSort = xlDescending
End If
.Range("A3:A" & LastRow).Sort Key1:=.Range("A3"), Order1:=xlSort, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
ActiveWorkbook.Save
那麼排序工作正常。字母排序是1,11,2,22等,而不是現實的1,2,11,22。如果您將文件名更改爲01,11,22,22。排序爲01,02,11,22 – PaulFrancis 2014-12-09 13:18:03
如果您將這四個文件名放入四個不同的列單元格並要求Excel對它們進行排序,那麼這就是您將得到的排序順序。然後,您的代碼是正確的 - 就是說,它正在複製Excel的電子表格行爲。 – 2014-12-09 13:22:19
@PaulFrancis不幸的是我不能改變文件名。它不能在左側包含任何0。 – 2014-12-09 13:25:25