分类
关键词网

如何在Excel中让数据自动排序?

如何在Excel中让数据自动排序?

各位好,祝各位周末愉快。 在下想请各位帮一个忙。就是分数段自动排序的问题。 我以前是先录制一个宏,然后就设一个快捷键。要排序时,先选中要排序的单元格,再按快捷键p。这样就排好序了。但我想知道是否有一种更快或者是能先预设好、自动排序的方法。如用vba之类的。这样一来,就使得我的工作变得更加方便一些,也用时更短一点。请高手指点一下,好吗?如果用vba的话,请在语句关键处说明一下,多谢多谢。

蓑***
2022-03-19
    自动排序是可以实现的,这需要用到 worksheet_change 事件。 在“自动排序”工作表模块中输入以下代码: Private Sub Worksheet_Change(ByVal Target As Range) Dim h As Range 'If Target。
    Count > 1 Then End '若同时改变多个单元格时,不想让其排序,请把本行首的“ ' ”去掉 If Target。Column 2 Then '若改变的单元格的列标小于8,行标小于2,则运行下面语句 Set h = Range(Cells(Target。
    Row, 1), Cells(Target。Row, 7)) '让对象变量h为改变的单元格所在行的1—7列的内容 If Application。CountA(h) = 7 Then Call sorts '如果 h 的所有单元格都有内容,则运行sorts程序 End If End Sub 并在VBA工程中插入一模块,输入以下代码: Sub sorts() With ActiveSheet 。
    Range("a2:g" & 。[g65536]。End(xlUp)。Row)。SortSpecial 1, _ 。Range("G2"), 2, , 。Range("A2"), 2, 。
  Range("F2"), 2, 1 End With End Sub 具体参考附件 。  。

s***
2022-03-19
     我也录制了一段。 Selection。Sort:选择区域。排序 Key1:=Range("G3"):主要关键关键字,后面的2、3为次要、第三关键字 Order1:=xlAscending:主要关键关键字排序方式为升序,后面2、3道理相同,(降序为xlDescending) Header:= xlNo 排序时未选择标题行 再后面的内容,因为不常用,我也不是很熟,可以不理会,如果一定要了解,估计就是菜单“数据-排序-选项”中的内容。
     最后说明一下:如果是仅仅排序一项单一的工作,没必要自编宏,直接用菜单方便,如果是一项连贯性的工作,排序只是工作中的其中一小段,当然没必要程序停下来手工操作,应该是自动排序了。
   Sub Macro3() Selection。
    Sort Key1:=Range("G3"), Order1:=xlAscending, Key2:=Range("B3") _ , Order2:=xlAscending, Key3:=Range("C3"), Order3:=xlAscending, Header:= _ xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal, DataOption3:=xlSortNormal End Sub。

一***
2022-03-19
录制宏提时候把选择排序区域的操作过程也录制在宏里,再用窗体做一个按钮,为按钮指定相应的宏. 以后排序时只要点相应的按钮就可以进行排序了. 选择排序区域时可以多选择几行,这样人数增加了也不用修改宏了.

推荐内容