我正在构建一个宏,根据它的值升序/降序一系列单元格。 的问题是,它不与下面的数据工作:按升序/降序排序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