当前位置: 首页 > 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.rkmt.cn/news/48972.html

相关文章:

  • 基于GWO灰狼优化的XGBoost序列预测算法matlab仿真
  • 11.13 NOTE
  • 2025广州公积金提取服务最新TOP5权威评测:专业合规引领行业标杆
  • 用Rust 解析验证码:结合 Tesseract OCR 进行文本识别
  • 10.22 NOTE
  • 前后端全栈技术栈深度剖析:从Vue到Node.js的完整学习路径
  • 2025国内供应链服务企业最新TOP5评测:稳定、成本可控、合作灵活
  • 2025物流企业最新TOP5:覆盖范围广、团队更专业,成就时效与诚信
  • 送女生礼物推荐:如何才能送到心坎里?
  • 2025年西北地区新媒体运营公司最新TOP5评测:AI赋能陕西甘肃品牌增长新引擎
  • 降本增效语音机器人评测榜:2025年大模型通话企业优选品牌
  • Windows 修改hosts不生效
  • 2025年陕西人工智能教育服务商最新TOP5评测:引领智能教育新时代
  • 重练算法(代码随想录版) day9 - 字符串part2
  • Spring Boot 进阶:企业级性能与可观测性指南
  • win7 打开 icmp-ping 回显
  • 旋转矩阵在导航与机器人中的应用
  • Spring AI Alibaba 项目源码学习(四)-Graph中的存储分析
  • 20251113 正睿
  • 基于Java+SSM+Flask家庭理财系统(源码+LW+调试文档+讲解等)/家庭理财/理财系统/家庭财务/家庭财务规划/家庭账目/家庭财务软件/家庭记账/理财器具/财务多元化/资产管理。
  • 主动交互和情境感知,AI 硬件是脱离手机屏幕掌控的蓝海机会丨硬件和端侧模型专场@RTE2025 回顾
  • centos 环境下部署mongodb并设定密码
  • 20232317 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • 2025.11.13总结
  • AT_arc104_e Random LIS
  • kettle从入门到精通 第五十四课 ETL之kettle接收http请求
  • P13714 淘汰(Hard ver.)
  • Windows 10 本地部署工作流自动化工具 n8n
  • Gary Yen教授在BICTA2025做主旨汇报并访问本课题组
  • 关于AI元人文构想与价值工程生态系统的全面研究报告