Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3597|回复: 4

[已解决]按条件排序

[复制链接]
发表于 2014-4-7 12:48 | 显示全部楼层 |阅读模式
本帖最后由 雨玥 于 2014-4-7 20:15 编辑

请教:怎样将SHEET1表中的A3:AH里的内容以C列内容进行排序,但是排序的条件是:按“条件”工作表中的B列内容的顺序(B3往下的内容)进行排序,当然同一行中的内容也同时跟着变动(即原来一行中的内容排序后内容还要在同一行中),见效果表。谢谢
最佳答案
2014-4-7 21:04
  1. Sub Macro1()
  2. Dim arr, brr, crr, d, i&
  3. Set d = CreateObject("scripting.dictionary")
  4. arr = Range("a3:ah" & Range("a65536").End(xlUp).Row)
  5. brr = Sheets("条件").[b3:b9]
  6. ReDim crr(1 To UBound(arr), 1 To 1)
  7. For i = 1 To UBound(brr)
  8.     d(brr(i, 1) & "村") = i
  9. Next
  10. For i = 1 To UBound(arr)
  11.     crr(i, 1) = d(arr(i, 3))
  12. Next
  13. Range("ai3").Resize(UBound(crr)) = crr
  14. Range("a3").Resize(UBound(arr), UBound(arr, 2) + 1).Sort Key1:=Range("AI3"), Order1:=xlAscending, Header:=xlGuess
  15. [ai:ai].ClearContents
  16. End Sub
复制代码

条件排序.rar

28.42 KB, 下载次数: 12

发表于 2014-4-7 21:04 | 显示全部楼层    本楼为最佳答案   
  1. Sub Macro1()
  2. Dim arr, brr, crr, d, i&
  3. Set d = CreateObject("scripting.dictionary")
  4. arr = Range("a3:ah" & Range("a65536").End(xlUp).Row)
  5. brr = Sheets("条件").[b3:b9]
  6. ReDim crr(1 To UBound(arr), 1 To 1)
  7. For i = 1 To UBound(brr)
  8.     d(brr(i, 1) & "村") = i
  9. Next
  10. For i = 1 To UBound(arr)
  11.     crr(i, 1) = d(arr(i, 3))
  12. Next
  13. Range("ai3").Resize(UBound(crr)) = crr
  14. Range("a3").Resize(UBound(arr), UBound(arr, 2) + 1).Sort Key1:=Range("AI3"), Order1:=xlAscending, Header:=xlGuess
  15. [ai:ai].ClearContents
  16. End Sub
复制代码
回复

使用道具 举报

发表于 2014-4-7 21:07 | 显示全部楼层
…………

条件排序.zip

50.54 KB, 下载次数: 44

评分

参与人数 1 +1 收起 理由
雨玥 + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-4-8 20:07 | 显示全部楼层
dsmch 发表于 2014-4-7 21:07
…………

哈哈,真是太感谢老师了。帮了我的大忙了。
回复

使用道具 举报

发表于 2014-4-17 13:57 | 显示全部楼层
一点都看不懂,复制的代码在哪啊,往哪复制代码啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 15:23 , Processed in 1.483953 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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