分享

VBA中排序

 lwc5577 2018-06-19
工作表内单元格数据的排序,使用Range.Sort 命令。
Range("待排序数据区域").Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3,
        Header, OrderCustom, MatchCase, Orientation, SortMethod,
        DataOption1, DataOption2, DataOption3)
一、 key1、key2、key3
这些key是排序的关键列(或行)的单元格地址,如 Range("A1")
实际只要选对列标题即可,对行数要求不敏感。
【行数要求不敏感】
即数据区域中任意行数都可以: Range("A1")、或Range("A2")、或Range("A1000")都可以。

【注意】1. 一次Sort只能调用至多3个参数,没有key4可以使用。
2. 至少使用1个参数即可,即key2、key3可以省去不用。
【引用方法】
1. 带参数名引用,如: key1:=Range("G3")
2. 参数位置引用,即按照上述Sort命令的参数顺序直接应用,
   如: Range("A1:I19").Sort key1:=Range("G3")  即第1位置参数即为key1
二、 Order1、Order2、Order3 这些Order是排序的顺序模式指定参数。即: A-Z升序、或Z-A降序 参数的模式名称为: A-Z升序= xlAscending 或直接=1  Z-A降序= xlDescending 或直接=2
  带参数名引用时:  Order1:=xlAscending  或 Order1:= 1
  参数位置引用时,紧跟key后面。(但注意key2和Order2之间要隔一个Type参数)
三、 Header
    即是否有标题行参数,一共有3个值:
    Header:= xlGuess=0 或xlYes=1 或 xlNo=2
    即=xlGuess、或=0时,工作表自己判断
     =xlYes、或=1时,强制第1行为列标题,即第1行【不参与排序】
     =xlNo、或=2时,强制没有列标题。即第1行【也参与排序】
  带参数名引用时:
   如: 
Header:=xlYes
Header:= xlGuess


 ( 可能 是OrderCustom,  )
   参数位置引用时,在第7个逗号之后。
  (如果key只有1个时,要连续空6个逗号,
   如:Range("A1:I19").Sort Range("A1"), 1, , , , , , 2 (order1之后连续写6个逗号)

四、 MatchCase 是否匹配大小写
    MatchCase:=False 、或=0 不区分大小写
    MatchCase:=True 、或=1 区分大小写(Case Sensitive)
五、 Orientation 排序方向
  一般为同一列中从上到下各行进行排序:Orientation:= xlTopToBottom 、或=1
  如果是: 同一行中从左到右各列进行排序,则为:Orientation:= xlLeftToRight、或=2
六、 SortMethod 排序方法
    按拼音排序: SortMethod:= xlPinYin 、或=1 (Use phonetic info)
    按笔画排序: SortMethod:= xlStroke、或=2
七、 DataOption1 按数值或按文本排序
    DataOption1:= xlSortNormal
以上综合示例为:
按参数名引用:
Range("A1:I19").Sort key1:=Range("G3"), Order1:=xlAscending, _
         Header:=xlGuess
, OrderCustom:=1, MatchCase:=False, _
         Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _
         DataOption1:=xlSortNormal

直接按参数位置:
Range("A1:I19").Sort [G3], 1, , , , , ,0, 1, 0, 1, 1,1
或根据默认为:Range("A1:I19").Sort [G3], 1

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多