Excel VBA 怎么排序

用VBA怎么实现相同ID内按分数给排序呢?参考图片xiexie我说明的可能不太充分。。ㅜㅜ是相同ID内按分数怎么给C2:C13给等级的问题A列... 用VBA 怎么实现 相同ID内 按分数 给排序呢?
参考图片

xiexie
我说明的可能不太充分 。。ㅜㅜ
是相同ID内 按分数 怎么 给 C2:C13 给 等级的问题
A列和 B列的 顺序不变的 情况下 C列的 结果跟 上面的图 一样 就行。。
谢谢 各位!
展开
 我来答
善良的独孤风雪
推荐于2017-09-01 · TA获得超过4.1万个赞
知道大有可为答主
回答量:7536
采纳率:91%
帮助的人:1806万
展开全部
  1、带参数名引用,如: key1:=Range("G3")
  2、 参数位置引用,即按照上述Sort命令的参数顺序直接应用,
  如: Range("A1:I19").Sort key1:=Range("G3") 即第1位置参数即为key1
  3、Order1、Order2、Order3
  这些Order是排序的顺序模式指定参数。即: A-Z升序、或Z-A降序
  参数的模式名称为:
  A-Z升序= xlAscending 或直接=1
  Z-A降序= xlDescending 或直接=2
  带参数名引用时:
  Order1:=xlAscending 或 Order1:= 1
  参数位置引用时,紧跟key后面。(但注意key2和Order2之间要隔一个Type参数)
  4、Header
  即是否有标题行参数,一共有3个值:
  Header:= xlGuess=0 或xlYes=1 或 xlNo=2
  即=xlGuess、或=0时,工作表自己判断
  =xlYes、或=1时,强制第1行为列标题,即第1行【不参与排序】
  =xlNo、或=2时,强制没有列标题。即第1行【也参与排序】
  带参数名引用时:
  如: Header:= xlGuess
  参数位置引用时,在第7个逗号之后。
  (如果key只有1个时,要连续空6个逗号,
  如:Range("A1:I19").Sort Range("A1"), 1, , , , , , 2 (order1之后连续写6个逗号)
  5、MatchCase 是否匹配大小写
  MatchCase:=False 、或=0 不区分大小写
  MatchCase:=True 、或=1 区分大小写(Case Sensitive)
  6、Orientation 排序方向
  一般为同一列中从上到下各行进行排序:Orientation:= xlTopToBottom 、或=1
  如果是: 同一行中从左到右各列进行排序,则为:Orientation:= xlLeftToRight、或=2
  7、SortMethod 排序方法
  按拼音排序: SortMethod:= xlPinYin 、或=1 (Use phonetic info)
  按笔画排序: SortMethod:= xlStroke、或=2
  8、 DataOption1 按数值或按文本排序
  DataOption1:= xlSortNormal
  9、以上综合示例为: 按参数名引用:
  Range("A1:I19").Sort key1:=Range("G3"), Order1:=xlAscending, _
  Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
  Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _
  DataOption1:=xlSortNormal
  直接按参数位置:
  Range("A1:I19").Sort [G3], 1, , , , , ,0, 1, 0, 1, 1,1
  或根据默认为:Range("A1:I19").Sort [G3], 1
双木阿林
2020-09-09 · TA获得超过8.2万个赞
知道小有建树答主
回答量:1.1万
采纳率:24%
帮助的人:591万
展开全部

Excel如何排序?很简单,让我来教会你!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
表里如一
推荐于2017-09-11 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11637
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部

看例子吧。。。

需要定义一个公式。。

a:

=LARGE((Sheet1!$A$1:$A$15=Sheet1!A1)*(Sheet1!$B$1:$B$15),ROW(INDIRECT("1:" & COUNTIF(Sheet1!$A$1:$A$15,Sheet1!A1))))

 

再在C1输入:

=match(B1,a,0)

下拉即可。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pieryon
2017-07-17 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166868
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部

文件发送到

处理好来认领

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wtx274321
推荐于2018-05-07 · TA获得超过1.8万个赞
知道大有可为答主
回答量:2343
采纳率:57%
帮助的人:954万
展开全部
假设你的工作表名为“表”,采用如下代码
Sub 排序()
With ActiveWorkbook.Worksheets("表").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("A2"), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal '降序排列
.SetRange Worksheets("表").Range("A2:C13")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
升序为Order:=xlAscending
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式