我试图让一个macros在报告中以升序显示信息

我不知道这是怎么回事,它不会出于某种原因! 有任何想法吗? 我只是想拿什么粘贴,并确保它是按照数量上升到最小。

'Range("A:N").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _ 'xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ 'DataOption1:=xlSortTextAsNumbers 

我认为你遇到的问题是你正在sortingentire column而不是定义数据范围的结束。

见下文:

 Dim ws as Worksheet Set ws = Worksheets("Sheet1") 'change as needed With ws Dim lRow as Long lRow = .Range("A" & .Rows.Count).End(xlUp).Row .Range("A1:N" & lRow).Sort Key1:=.Range("A1:A" & lRow), _ Order1:=xlAscending, Header:= xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortTextAsNumbers End With 

如果你有XL 2007或更高版本,这可能是要走的路:

 Dim ws as Worksheet Set ws = Worksheets("Sheet1") 'change as needed With ws Dim lRow as Long lRow = .Range("A" & .Rows.Count).End(xlUp).Row With .Sort With .SortFields .Clear .Add Key:=.Range("A1:A" & lRow), SortOn:=xlValues, _ Order:=xlAscending, DataOption:=xlSortNormal End With .SetRange .Range("A1:N" & lRow) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End With