资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
Excel VBA中使用Sort 函数对工作表排序的方法 工作表内单元格数据的排序,使用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:= xlGuess 参数位置引用时,在第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
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号