具有动态范围和 customOrder excel 的排序宏

2024-03-03

我正在尝试制作一个多级排序宏,而行数是动态的。我一直在摆弄一些测试数据来尝试让它工作,但是我不断从 Excel 中收到 1004 运行时错误。希望第二双眼睛能帮助解决这个问题。

这是测试数据

A       B        C      D
Num Status  Junk    Junk
1   Open    1       1
2   Open    2       2
3   Closed  3       3
3   Open    3       3
4   Open    4       4
6   Open    6       6
8   Open    8       8
8   Open    8       8
34  Open    34      34
456 Open    456     456
5   Closed  5       5
853 Open    853     853
2345Closed  2345    2345
234 Open    234     234
23  Closed  23      23
4   Open    4       4
76  Closed  76      76
345 Open    345     345
623 Closed  623     623
523 Open    523     523
4525Closed  4525    4525
6   Open    6       6

这是我的宏

Range("A1:D1").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add _
    Key:=Range("B1:B10"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
    "Open,Closed", DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add _
    Key:=Range("A1:A10"), SortOn:=xlSortOnValues, Order:=xlAscending,            DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

另请参阅我有 Range("A1:A10") 的行,希望 A10 成为最后一行。所以我不确定该放什么。

谢谢大家,

Jim


将最后一行放入一个变量中,然后在范围名称中使用该变量,就像我在下面所做的那样。我还对您的代码进行了一些清理,使其更易于阅读且更高效。您收到运行时错误,因为您缺少SetRange method:

Sub mySort()

Dim lngLast As Long
lngLast = Range("A" & Rows.Count).End(xlUp).Row

On Error Go to Whoa! 'in honor of Siddhart Rout (I like that :))
With Worksheets("Sheet1").Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range("B1:B" & lngLast), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
        "Open,Closed", DataOption:=xlSortNormal
    .SortFields.Add Key:=Range("A1:A1" & lngLast), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    .SetRange Range("A1:D" & lngLast)
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

On Error Go To 0
Exit Sub

Whoa!:
    Msgbox "Error " & Err.Number & " " & Err.Description, vbOkOnly

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有动态范围和 customOrder excel 的排序宏 的相关文章

随机推荐

  • 命令不同步,您现在无法运行此命令

    我正在尝试使用 mysqldb 创建一些表 问题是当执行python脚本时db pymysql 抛出错误 mysql exceptions ProgrammingError 2014 命令不同步 您现在无法运行此命令 db py impor
  • 如何使用 Dagger2 将 Activity 范围内的依赖项替换为模拟

    我的 Activity 中有范围依赖项 我想用一些模拟来测试该 Activity 我读过有关建议在测试期间用测试组件替换应用程序组件的不同方法 但我想要的是替换活动组件 例如 我想在 MVP 设置中针对模拟演示者测试活动 我相信通过在 Ac
  • PHP:如何将无穷大或 NaN 数字编码为 JSON?

    显然 无穷大和 NaN 不是 JSON 规范的一部分 因此这个 PHP 代码 numbers array numbers positive infinity INF numbers negative infinity INF numbers
  • 大数组上的分段错误

    以下代码在 2GB 机器上运行时出现分段错误 但在 4GB 机器上运行 int main int c 1000000 cout lt lt done n return 0 数组的大小仅为 4Mb C 中可以使用的数组的大小是否有限制 您可能
  • Ehcache - 找不到生成器的缓存名称

    我已经浏览了这里提出的很多类似问题 但我仍然无法找到解决方案 所以这是我的问题 我正在尝试在 Spring Boot 中设置 Ehcache Spring 2 2 6 RELEASE Ehcache 3 8 1 缓存服务 I ve got
  • data-* 属性可以包含 HTML 标签吗?

    I E img src world jpg 据我了解 它基本上是有效的 但最好使用 HTML 实体 来自HTML 4 参考 http www w3 org TR WD html40 970708 charset html 您还应该在属性值中
  • 如何显示外部 PostgreSQL 连接的 WORK_MEM?

    我知道我可以使用SHOW WORK MEM 在psql中查看当前使用的连接的值 但其他连接呢 我有一个应用程序可以打开许多连接并动态更改WORK MEM基于上下文 我想监控这些WORK MEM进行更改以确保它们得到应用 换句话说 我想 调整
  • 有效的 MFC ID 范围

    这让我很困惑 我正在读这个技术说明 https learn microsoft com en gb cpp mfc tn020 id naming and numbering conventions它指出 Prefix Resource t
  • 如何在 .xib 文件上创建的 UIViewController 中设置 UITableView

    我有一堂这样的课 interface ExerciseLogDetails UIViewController
  • AVURLAsset获取视频大小

    这真是令人沮丧 我正在尝试获取 AVURLasset 的大小 但尽量避免naturalSize因为 Xcode 告诉我 这在 iOS5 中已被弃用 但是 替代品是什么 我找不到任何关于如何在不使用 naturalsize 的情况下获取视频尺
  • CRT 库类型

    我试图更好地掌握 Visual Studio 2013 中的 CRT 库选项 C gt 代码生成 gt 运行时库 以及如何知道选择哪个选项 以及何时更改默认值 From MSDN http support microsoft com en
  • 如何在java应用程序中使用webRTC特定模块

    我有一个简单的java应用程序应用程序客户端可以向服务器发送 接收纯音频 UDP 数据包 服务器将音频数据包转发给除发送者之外的所有人 现在我该如何使用webRTC 回声消除我的应用程序端的模块或其他功能模块 我发现可以使用 JNI 和 w
  • .htaccess 拒绝子文件夹中的文件

    我想阻止对 sub folder index php 的访问 但不阻止对其他任何地方的 index php 的访问
  • 在 Jade 视图中使用 javascript 代码 - if(variable) 显示未定义而不是传递

    所以这是一个反复出现的问题 我还没有找到另一个例子 所以这里是 渲染 Jade 模板时我得到 variableName undefined即使在使用时 if variableName 在模板中 示例 我使用它作为 信息 闪存消息的一部分 i
  • 具有不同 ID 的列的总和?

    我有一个包含多个 ID 的表 需要一个查询来返回每个 ID 的列之和 Calls 表看起来像这样 EmployeeID TypeOfCall InvoiceAmount John NC 50 john NC 100 Joe NC 76 Jo
  • 如何创建我自己的 shell 来替换 e4 RCP 中 MTrimmedWindow 中创建的 shell?

    有没有办法用用户定义的窗口替换 Eclipse RCP 为 MTrimmedWindow 生成的 shell Eclipse 创建一个具有特定样式类型的 shell 该样式类型只能在创建时提供 我想从为 MTrimmedWindow 创建的
  • Compose LazyColumn 选择一项

    我想选择 LazyColumn 的一项并更改文本颜色 如何识别选择了哪个项目 Code val items listOf Pair A 1 Pair AA 144 Pair BA 99 var selectedItem by mutable
  • 如何将 { 和 } 放入格式字符串中[重复]

    这个问题在这里已经有答案了 我试图在运行时生成一些代码 在其中放入一些样板内容 并允许用户输入实际的工作代码 我的样板代码看起来像这样 using System public class ClassName public double Th
  • 为什么有人声称 Java 的泛型实现很糟糕?

    我偶尔听说 Java 在泛型方面做得不太好 最近的参考 here https stackoverflow com questions 457822 what are the things java got right 请原谅我的经验不足 但
  • 具有动态范围和 customOrder excel 的排序宏

    我正在尝试制作一个多级排序宏 而行数是动态的 我一直在摆弄一些测试数据来尝试让它工作 但是我不断从 Excel 中收到 1004 运行时错误 希望第二双眼睛能帮助解决这个问题 这是测试数据 A B C D Num Status Junk J