vba中autofile用法

下面是Range对象的AutoFilter方法的语法:

Range对象.AutoFilter(Field,Criterial1,Operator,Criteria2,VisibleDropDown)

说明:

1. 参数Field,指定想要基于筛选的字段的整数偏移量。从列表的左侧算起,最左侧的字段是字段1。

2. 参数Criterial1,指定判断条件(为字符串)。使用“=”查找空字段,或者使用“<>”查找非空字段。如果忽略该参数,那么判断是全部。如果参数Operator是xlTop10Items,那么参数Criterial1指定项目的数量。

3. 参数Operator,指定筛选的类型,为XlAutoFilterOperator常量之一:

  • xlAnd:值为1。Criteria1和Criteria2的逻辑与。

  • xlOr:值2。Criteria1或Criteria2的逻辑或。

  • xlTop10Items:值3。显示最大值的项(在Criteria1中指定项目数)。

  • xlBottom10Items:值4。显示最小值的项(在Criteria1中指定项目数)。

  • xlTop10Percent:值5。显示最大值的项(在Criteria1中指定百分比)。

  • xlBottom10Percent:值6。显示最小值的项(在Criteria1中指定百分比)。

  • xlFilterValues:值7。筛选值。

  • xlFilterCellColor:值8。单元格的颜色。

  • xlFilterFontColor:值9。字体颜色。

  • xlFilterIcon:值10。筛选图标。

  • xlFilterDynamic:值11。动态筛选。

  • 参数Criteria2,指定第二个判断条件(字符串),使用Criterial1和Operator构建复合判断条件。

  • 参数VisibleDropDown,设置为True则显示所筛选字段的自动筛选下拉箭头;设置为False则隐藏所筛选字段的自动筛选下拉箭头。默认为True。

  • 如果忽略所有参数,那么AutoFilter方法简单地切换指定区域的自动筛选下拉箭头的显示。

案例:如何升序排列:

番外:注意其中利用到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)

以上综合示例为:
按参数名引用:
Range("A1:I19").Sort key1:=Range("G3"), Order1:=xlAscending, _
         Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
         Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _
         DataOption1:=xlSortNormal

Excel VBA中使用Sort 函数对工作表排序的方法

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值