excel - 为什么我的数据排序宏没有按正确的顺序执行排序?
问题描述
我有一些非常简单的 VBA 代码
With ActiveSheet.Sort
.SortFields.Add Key:=Range("Stage"), Order:=xlAscending
.SortFields.Add Key:=Range("Category"), Order:=xlAscending
.Header = xlYes
.Apply
End With
我的理解是,例如,这个模拟表
Stage Category
1-First 2-Finance
4-Fourth 2-Finance
2-Second 3-Operations
1-First 1-Strategy
应该排序为
Stage Category
1-First 1-Strategy
1-First 2-Finance
2-Second 3-Operations
4-Fourth 2-Finance
然而,当我运行宏时我得到的是
Stage Category
1-First 1-Strategy
1-First 2-Finance
4-Fourth 2-Finance
2-Second 3-Operations
为什么类别优先?
解决方案
这个对我有用,使用你的数据。添加.SetRange
参数。
Sub test()
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
With ActiveSheet.Sort
.SetRange Range("A1:B5")
.SortFields.Add Key:=Range("Stage"), Order:=xlAscending
.SortFields.Add Key:=Range("Category"), Order:=xlAscending
.Header = xlYes
.Apply
End With
End Sub
推荐阅读
- c# - 手动处理装配加载
- php - 如何在没有性能开销的情况下将 Xdebug 模块加载到 PHP 中?
- javascript - 意外值 - e.target.value
- angular - 如何根据 Token 的值使用 *ngIf 渲染组件?
- bash - 如何在 shell 脚本中在当前目录之前打印目录?
- javascript - 如何在 Laravel mix Vue Js 上动态创建组件 Navbar
- mysql - 如何为 cli 和应用程序使用 DoctrineORMModule 不同的凭据?
- paypal - PayPal 支付体验配置文件创建
- node.js - AWS EC2 实例中的 puppeteer 集群脚本问题
- r - 如何使用相同的 R 代码运行多个 Excel 工作表