ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 16151|回复: 78

[求助] 怎样按班级给每科单独降序

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-2-25 21:25 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 xgczwp 于 2018-2-25 21:27 编辑

按班级给每科单独降序,每科降序,不影响其它的科目.

排序.zip

57.66 KB, 下载次数: 20

TA的精华主题

TA的得分主题

发表于 2018-2-25 21:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我认为你的提问和实际情况存在矛盾,各科成绩的载体是姓名,假设张三语文成绩在班级中最高,那么按语文降序,那么张三就排在了第一的位置。如果按数学降序排,张三就不一定在第一的位置了,那么之前的语文排序的顺序就要改变,意味着按语文排降序,就失去了意思。

因此做不到按每科都降序排列。只能按一科降序排。或者说分清降序的主次排。第一降序的关键字,第二,第三。。。确写了才能实施 。

TA的精华主题

TA的得分主题

发表于 2018-2-25 21:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你应该搞清楚,谁是主降序,谁是副降序,在满足主的情况下做副的降序,是这个意思的话,筛选里有个选择性排序就可以

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-25 22:32 来自手机 | 显示全部楼层
我是想对每个班的每科成绩进行评算,每科取前50人左右,跟学生没关系。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-25 22:33 来自手机 | 显示全部楼层
wmqz.130 发表于 2018-2-25 21:41
我认为你的提问和实际情况存在矛盾,各科成绩的载体是姓名,假设张三语文成绩在班级中最高,那么按语文降序 ...

我是想对每个班的每科成绩进行评算,每科降序,取前50人左右,跟学生没关系

TA的精华主题

TA的得分主题

发表于 2018-2-25 22:35 | 显示全部楼层
xgczwp 发表于 2018-2-25 22:33
我是想对每个班的每科成绩进行评算,每科降序,取前50人左右,跟学生没关系

那你需要每个班每科的前50名放在一张表,或者一个区域。你附件中是放在一起的,不合逻辑。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-25 22:42 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我想先按每科排序,然后每班前50引用到另外一个工作表中,再算

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-25 22:45 来自手机 | 显示全部楼层
subcolsort
Setss=Selection
Fori=1Toss.Columns.Count
ss.Columns(i).SortKey1:=ss.Columns(i),Order1:=xlAscending,Header:=xlNo,_
Orientation:=xlTopToBottom
Next
EndSub
我在网上找到这和比较好用,就是每次要选区域,一个班要选一次。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-25 22:50 来自手机 | 显示全部楼层
本帖最后由 xgczwp 于 2018-2-25 22:53 编辑
wmqz.130 发表于 2018-2-25 21:41
我认为你的提问和实际情况存在矛盾,各科成绩的载体是姓名,假设张三语文成绩在班级中最高,那么按语文降序 ...


我每次选一个班,就可以一下降序。
subcolsort
Setss=Selection
Fori=1Toss.Columns.Count
ss.Columns(i).SortKey1:=ss.Columns(i),Order1:=xlAscending,Header:=xlNo,_
Orientation:=xlTopToBottom
Next
EndSub
用这个我每次用人工选一个班,能不能自动选区域排序

TA的精华主题

TA的得分主题

发表于 2018-2-25 23:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
xgczwp 发表于 2018-2-25 22:50
我每次选一个班,就可以一下降序。
subcolsort
Setss=Selection

其实没必要用VBA
你把班级做为主关键字。选择一个科目做次关键字。然后排序。就得到了。
每个科目操作一次。

你发上来的代码就是根据EXCEL排序录制生成的代码,稍加修改而已。效率上不见的高。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 15:50 , Processed in 0.025596 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表