当前位置: 首页 > news >正文

Excel VBA 自定义排序

现有数据如下:
image

此时,如果需要根据单元格底色来排序,红色在上,其次是黄色,最后是白色(其实是无底色)。那么代码如下:

Sub te()Dim wbk As WorkbookDim sht As WorksheetDim last_row As IntegerDim iCounter As IntegerDim n As IntegerSet wbk = Application.ThisWorkbookSet sht = wbk.ActiveSheetlast_row = sht.Range("A1").End(xlDown).RowFor iCounter = 2 To last_rowsht.Cells(iCounter, 6) = sht.Cells(iCounter, 1).Interior.ColorIndexNext iCounterApplication.AddCustomList Array("3", "44", "-4142")n = Application.CustomListCountsht.Columns("A:F").Sort key1:=sht.Range("F2"), Header:=xlYes, ordercustom:=n + 1, order1:=xlAscending, key2:=sht.Range("b2"), order2:=xlDescendingsht.Columns("F:F").ClearEnd Sub

上述代码其实是添加了一个辅助列,放在了 E 列。通过一个循环,将 A 列每个单元格的底色的值取出来,结果放在 E 列,再根据 E 列的值(也就是底色的值)来排序。

自定义顺序的部分是使用了 Application.AddCustomList,然后在排序 Sort 的时候使用 ordercustom 属性,值是自定义列表的序号,通过 Application.CustomListCount 得到

最后再清空辅助列的内容。

代码中还指定了第二个字段用于排序,即 B 列,排序方式是倒序。所以结果如下

image

http://www.jsqmd.com/news/39786/

相关文章:

  • 基于GWO灰狼优化的XGBoost序列预测算法matlab仿真
  • 2025广东住房公积金提取机构最新TOP5评测:因为正规,所以高效
  • 2025广东公积金提取代办中介最新TOP5评测:高效引领行业合规标准
  • 2025年深圳公积金提取最新TOP5评测:专业高效合规,引领行业标准
  • 《Chrome 开发者工具:前端调试必备》
  • 使用 vLLM 本地部署 Qwen3-Embedding-8B 模型并接入 Dify 完整指南 - yi
  • 《VS Code:高效编程的插件与配置》
  • 11.13 NOTE
  • 2025广州公积金提取服务最新TOP5权威评测:专业合规引领行业标杆
  • 用Rust 解析验证码:结合 Tesseract OCR 进行文本识别
  • 10.26 NOTE
  • 10.22 NOTE
  • 题解:CF2106D Flower Boy
  • 使用 Maven 内置的版本号(Version)统一控制功能
  • 使用 Maven 内置的版本号(Version)统一控制功能
  • 2025年智能仓储服务商综合实力TOP5榜单:引领物流效率革命,覆盖山东、河北、江浙沪等国内线路,服务中亚五国、俄罗斯、阿富汗等国际路线
  • 2025年共享仓库服务最新TOP5推荐:山东、河北、江浙沪等国内区域,中亚、阿富汗、俄罗斯等国际地区,高效仓储解决方案引领者
  • 在ec2上部署CosyVoice2模型
  • 2025年配送中心最新综合实力TOP5榜单:引领国内国际物流新标杆
  • 每日反思(2025_11_13)
  • 2025年运输服务企业最新TOP5评测:国内、跨境物流解决方案引领者
  • 前后端全栈技术栈深度剖析:从Vue到Node.js的完整学习路径
  • 11月113日日记
  • 2025国内供应链服务企业最新TOP5评测:稳定、成本可控、合作灵活
  • 2025物流企业最新TOP5:覆盖范围广、团队更专业,成就时效与诚信
  • 疲劳数据分析与设计曲线 25
  • 11-13午夜盘思
  • 【AI翻译】分布式系统中的心跳机制
  • “ArcGIS Pro制图-模型构建器-ArcPy开发-AI-无人机实操”系列培训班预告
  • 送女生礼物推荐:如何才能送到心坎里?