zoukankan      html  css  js  c++  java
  • VBA 排序之sort

    在日常VBA中,自带的sort函数可以定义三个排序字段(key值)

     举例代码如下:

    Sub test()
    With Worksheets("SUMMARY OF DEPOT INVENTORY").Range("c10:o245")
    .Sort key2:=Worksheets("SUMMARY OF DEPOT INVENTORY").Range("d10"), _
          key3:=Worksheets("SUMMARY OF DEPOT INVENTORY").Range("e10"), _
          key1:=Worksheets("SUMMARY OF DEPOT INVENTORY").Range("k10"), _
          order1:=xlAscending, _
          order2:=xlAscending, _
          order3:=xlAscending, _
          Header:=xlYes
    End With
    End Sub
    

      但是遇到要多条件排序的话,排序字段超出3个就比较麻烦了,需要多次排序,

      不过sort函数换一种写法,用里面自定义排序,可以添加多个排序的字段

    Sub test3()
        With ActiveWorkbook.Worksheets("SUMMARY OF DEPOT INVENTORY")
        .Sort.SortFields.Clear '清空自定义排序的规则
        '增加4个key值
        .Sort.SortFields.Add Key:=.Range("K10"), SortOn:=xlSortOnValues, Order:=xlAscending
        .Sort.SortFields.Add Key:=.Range("d10"), SortOn:=xlSortOnValues, Order:=xlAscending
        .Sort.SortFields.Add Key:=.Range("e10"), SortOn:=xlSortOnValues, Order:=xlAscending
        .Sort.SortFields.Add Key:=.Range("n10"), SortOn:=xlSortOnValues, Order:=xlAscending
        '设置表格排序内容的范围
        .Sort.SetRange Range("a10:n245")
        '表头是否包含
        .Sort.Header = xlYes
        '执行
        .Sort.Apply
        End With
    End Sub
    

     

    知乎找来的一张关于每个方法对应的内容

  • 相关阅读:
    【BZOJ 2120】 数颜色
    【BZOJ 1878】 HH的项链
    【BZOJ 2038】小Z的袜子
    【BZOJ 2724】 蒲公英
    【POJ 2482】 Stars in Your Windows
    【POJ 2182】Lost Cows
    __align(num) 分析
    C# 获取图片某像素点RGB565值
    基于OpenCV的火焰检测(三)——HSI颜色判据
    基于OpenCV的火焰检测(一)——图像预处理
  • 原文地址:https://www.cnblogs.com/Young-shi/p/12845994.html
Copyright © 2011-2022 走看看