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

网站真人主持人企业查询免费

网站真人主持人,企业查询免费,电子商务网站建设感悟,网站建设-部署与发布的题目Excel VBA 双列排序 功能概述 这段VBA代码实现了Excel中的双列排序功能,具体是: 跳过前3行表头先按C列数据从大到小排序在C列值相同的情况下,按B列从大到小排序排序时保持整行数据的完整性 流程图 #mermaid-svg-XJERemQluZlM4K8l {font-fa…

Excel VBA 双列排序

在这里插入图片描述

功能概述

这段VBA代码实现了Excel中的双列排序功能,具体是:

  1. 跳过前3行表头
  2. 先按C列数据从大到小排序
  3. 在C列值相同的情况下,按B列从大到小排序
  4. 排序时保持整行数据的完整性

流程图

开始
定义工作表和变量
获取最后一行行号
设置数据格式
定义排序范围
清除已有排序字段
添加第一个排序键:C列
添加第二个排序键:B列
执行排序
显示完成提示
结束

代码详解

1. 变量声明和初始化

Dim ws As Worksheet
Dim lastRow As Long
Dim sortRange As RangeSet ws = ActiveSheet
  • Worksheet: 工作表对象
  • lastRow: 存储数据的最后一行行号
  • sortRange: 定义排序范围

2. 获取数据范围

lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
  • 使用End(xlUp)方法从底部向上查找最后一个非空单元格

3. 格式设置

With ws.Range("B4:C" & lastRow).NumberFormat = "0.00"    '设置为2位小数.Value = .Value           '刷新值
End With
  • 设置B列和C列的数字格式
  • 通过重新赋值来刷新单元格内容

4. 排序范围定义

Set sortRange = ws.Range("A4:E" & lastRow)
  • 从第4行开始(跳过表头)
  • 包含A到E列的所有数据

5. 排序实现

With ws.Sort.SortFields.Clear.SortFields.Add Key:=ws.Range("C4:C" & lastRow), _SortOn:=xlSortOnValues, _Order:=xlDescending, _DataOption:=xlSortNormal.SortFields.Add Key:=ws.Range("B4:B" & lastRow), _SortOn:=xlSortOnValues, _Order:=xlDescending, _DataOption:=xlSortNormal.SetRange sortRange.Header = xlNo.MatchCase = False.Orientation = xlTopToBottom.SortMethod = xlPinYin.Apply
End With

关键参数说明:

  • SortFields.Clear: 清除现有排序条件
  • SortOn:=xlSortOnValues: 按值排序
  • Order:=xlDescending: 降序排列
  • Header = xlNo: 不包含表头
  • SortMethod = xlPinYin: 使用拼音排序方法

使用注意事项

  1. 确保数据从第4行开始
  2. 数据列需要在A到E列之间
  3. 数据格式应为数字类型
  4. C列为第一排序键,B列为第二排序键

V20250116 X从大到小

Sub SortTwoColumnsWithHeaders()Dim ws As WorksheetDim lastRow As LongDim sortRange As RangeSet ws = ActiveSheetlastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row'确保数据格式正确(从第4行开始)With ws.Range("B4:C" & lastRow).NumberFormat = "0.00"    '设置为5位小数.Value = .Value              '刷新值End With'定义排序范围(从A列到E列,从第4行开始)Set sortRange = ws.Range("A4:E" & lastRow)'执行排序With ws.Sort.SortFields.Clear.SortFields.Add Key:=ws.Range("C4:C" & lastRow), _SortOn:=xlSortOnValues, _Order:=xlDescending, _DataOption:=xlSortNormal.SortFields.Add Key:=ws.Range("B4:B" & lastRow), _SortOn:=xlSortOnValues, _Order:=xlDescending, _DataOption:=xlSortNormal.SetRange sortRange.Header = xlNo               '因为真正的数据从第4行开始,所以这里设置为No.MatchCase = False.Orientation = xlTopToBottom.SortMethod = xlPinYin.ApplyEnd WithMsgBox "排序完成!"
End Sub

V20250116 每行的X从小到大升序排列

Sub SortTwoColumnsWithHeaders()Dim ws As WorksheetDim lastRow As LongDim sortRange As RangeSet ws = ActiveSheetlastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row'确保数据格式正确(从第4行开始)With ws.Range("B4:C" & lastRow).NumberFormat = "0.00"    '设置为5位小数.Value = .Value              '刷新值End With'定义排序范围(从A列到E列,从第4行开始)Set sortRange = ws.Range("A4:E" & lastRow)'执行排序With ws.Sort.SortFields.Clear.SortFields.Add Key:=ws.Range("C4:C" & lastRow), _SortOn:=xlSortOnValues, _Order:=xlDescending, _DataOption:=xlSortNormal.SortFields.Add Key:=ws.Range("B4:B" & lastRow), _SortOn:=xlSortOnValues, _Order:=xlAscending, _DataOption:=xlSortNormal.SetRange sortRange.Header = xlNo               '因为真正的数据从第4行开始,所以这里设置为No.MatchCase = False.Orientation = xlTopToBottom.SortMethod = xlPinYin.ApplyEnd WithMsgBox "points order finshied!"
End Sub
http://www.ds6.com.cn/news/43764.html

相关文章:

  • 自己做网站用什么数据库互联网营销的五个手段
  • 驾校报名网站怎么做优化器
  • 怎么做学校网站和微信公众号2345网址导航怎么下载
  • 房产手机网站开发百度指数
  • 网站建设工作简介南昌网站seo外包服务
  • 网站一定要服务器吗网店推广方案范文
  • 支付宝网站开发seo搜索引擎优化是什么
  • 做网站banner石家庄关键词优化报价
  • 浙江做网站套餐优化关键词规则
  • 八戒logo设计网南京seo网站优化推广
  • 深圳建设网站费用明细跨境电商哪个平台比较好
  • 自己的网站怎么做团购百度提交收录入口
  • 网站建设行业动态销售成功案例分享
  • 佛山专业网站建设公司google关键词推广
  • 建设网站怎么备案怎么注册域名网址
  • 没有公司网站如何做推广百度搜索推广是什么
  • 医院网站建设步骤seo快速培训
  • 国外优秀app设计网站南宁优化网站网络服务
  • 最近2018中文字幕免费看2019河北seo网络优化师
  • 个人网站做淘宝客商城故事式的软文广告例子
  • 中央今日头条新闻百中搜优化
  • 商城开发网站企业网站推广公司
  • 易云巢做网站公司91永久海外地域网名
  • 做商业网站赚钱吗618网络营销策划方案
  • 日本亲子游哪个网站做的好处seo搜索引擎优化关键词
  • 设计素材网站照片百度关键词购买
  • 电商网站怎么做微信支付优化设计答案五年级下册
  • wordpress懒加载插件百度seo关键词排名查询工具
  • 重庆无障碍网站建设公司网站建设哪家公司好
  • 朝阳市网站建设网上如何做广告