按升序/降序排序vba excel不工作
我正在构建一个宏,根据它的值升序/降序一系列单元格。 的问题是,它不与下面的数据工作:按升序/降序排序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
我只为这一个附配的功能。全部未经测试的代码如下:
Public Sub MySuperSort()
Dim sortType31 As Integer, lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
sortType = ([A3] > Cells(lastRow, 1))
Call MyOrder(Range(Cells(3, 1), Cells(lastRow, 1)), 1, False)
ActiveWorkbook.Save
End Sub
Private Sub MyOrder(ByVal tableRange As Range, ByVal columnIndex As Integer, ByVal ascending As Boolean, Optional ByVal header As Boolean = True)
Dim orderBy As Integer, hasHeader As Integer
orderBy = IIf(ascending, xlAscending, xlDescending)
hasHeader = IIf(header, xlYes, xlNo)
With tableRange.Parent
.Sort.SortFields.Clear
.Sort.SortFields.Add _
Key:=Intersect(tableRange, tableRange.Columns(columnIndex)), _
SortOn:=xlSortOnValues, Order:=orderBy, DataOption:=xlSortNormal
With .Sort
.SetRange tableRange
.header = hasHeader
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub
您的意思是:MyOrder(.Range(.Cells(3,1).Cells(lastRow,1),1,false)? – 2014-12-09 13:28:40
是'Call MyOrder .Range(.Cells(3,1).Cells(lastRow,1),1,false)' – Makah 2014-12-09 13:31:20
对不起,它可能看起来很傻,但我在哪里调用MyOrder?我可以创建一个按钮,然后简单地调用它传递它的参数? – 2014-12-09 13:43:58
那么排序工作正常。字母排序是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