ExcelHome技术论坛

标题: VBA排序 [打印本页]

作者: ardu95    时间: 2019-5-14 20:09
标题: VBA排序
各位老师:
帮忙排个序。见附件。
谢谢。



作者: 朱荣兴    时间: 2019-5-14 20:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: liulang0808    时间: 2019-5-14 20:26
楼主录制一段排序的宏不就可以了吗
Sub 宏1()
'
' 宏1 宏
'

'
    Range("A2:B45").Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A3:A45") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B3:B45") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A2:B45")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

End Sub
作者: maditate    时间: 2019-5-14 20:31
真的不明白,用代码去排序此类数据得到的结果到底有多少实用价值。
作者: lsc900707    时间: 2019-5-14 21:16
  1. Sub gj23w98()
  2.     Range("a2:b" & Rows.Count).Sort [b3], 1, , , , , , 1
  3.     Range("a2:b" & Rows.Count).Sort [a3], 1, , , , , , 1
  4. End Sub
复制代码

作者: lsc900707    时间: 2019-5-14 21:20
测试参考附件:
作者: 网海遨游    时间: 2019-5-14 21:48
Sub 五楼的启发()
Range("a3:b" & Rows.Count).Sort [a3], 1, [b3], , 1
End Sub
作者: ardu95    时间: 2019-5-15 06:08
朱荣兴 发表于 2019-5-14 20:26
录制一段宏稍加修改

谢谢。注册了好长时间。真正学习大约有一年时间,很多东西一知半解,继续学习。
作者: ardu95    时间: 2019-5-15 06:10
lsc900707 发表于 2019-5-14 21:16

谢谢指导。注册了好长时间。真正学习大约有一年时间,很多东西一知半解,继续学习。
作者: lsc900707    时间: 2019-5-15 06:53
ardu95 发表于 2019-5-15 06:10
谢谢指导。注册了好长时间。真正学习大约有一年时间,很多东西一知半解,继续学习。

呵呵,多点时间学习,加油!
作者: donghui2363    时间: 2019-5-15 09:15
Sub 排序()
Dim sj As Range
Set sj = [a2:b45]
sj.Sort key1:=[a3], order1:=xlAscending, key2:=[b3], order2:=xlAscending
End Sub
作者: ardu95    时间: 2019-5-16 06:03
maditate 发表于 2019-5-14 20:31
真的不明白,用代码去排序此类数据得到的结果到底有多少实用价值。

其实数量应该是代码或者是序号的,总之是要排序的,谢谢关心。
作者: china047    时间: 2020-7-22 09:12
maditate 发表于 2019-5-14 20:31
真的不明白,用代码去排序此类数据得到的结果到底有多少实用价值。

人家不是为了排序而排序,肯定是为了应用在其它地方,发出的需求只是为了验证技术!
作者: gwjkkkkk    时间: 2023-8-26 16:24
Option Explicit
Sub TEST1()
   With Range("A2", Cells(Rows.Count, "B").End(xlUp))
        .Parent.Sort.SortFields.Clear
        .Sort key1:=.Item(1), order1:=xlAscending, key2:=.Item(2), order2:=xlAscending, Header:=xlYes
    End With
End Sub
作者: ykcbf1100    时间: 2023-8-27 16:33
参与一下,多条件排序
  1. Sub 多个条件排序()
  2.     With ActiveSheet
  3.         r = .Cells(.Rows.Count, "a").End(xlUp).Row
  4.         .Sort.SortFields.Clear '清空自定义排序的规则
  5.         .Sort.SortFields.Add Key:=.[a3], SortOn:=0, Order:=1
  6.         .Sort.SortFields.Add Key:=.[b3], SortOn:=0, Order:=1
  7.         .Sort.SetRange .Range("a3:b" & r)
  8.         .Sort.Header = 2   '//无标题
  9.         .Sort.Apply
  10.     End With
  11. End Sub
复制代码







欢迎光临 ExcelHome技术论坛 (https://club.excelhome.net/) Powered by Discuz! X3.4