各位好,祝各位周末愉快。 在下想请各位帮一个忙。就是分数段自动排序的问题。 我以前是先录制一个宏,然后就设一个快捷键。要排序时,先选中要排序的单元格,再按快捷键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
录制宏提时候把选择排序区域的操作过程也录制在宏里,再用窗体做一个按钮,为按钮指定相应的宏.
以后排序时只要点相应的按钮就可以进行排序了.
选择排序区域时可以多选择几行,这样人数增加了也不用修改宏了.
推荐内容
- 怎样摆方向!本身做网上生意?
- 能小赚一笔吗
- EXCEL中设置函数输入工号弹出姓名
- EXCEL中如何实现输入员工工号弹出姓名
- 自动跳出来
- excel自动根据输入数据计算
- 在EXCEL里如何自动生成姓名的首字母
- Excel怎么设置输入数据自动变成数字?
- excel数据自动排列
- 如何在Excel中让数据自动排序?
- 请教:怎样可以在Excel表2A列输入表1A列的资料,C列的资料?
- 电子表格数据自动输入
- EXCEL中怎么样才能使输入的数据自动累加?
- 如何在Excel表中进行如下设置?
- 电子表格是如何只要输入数据就能自动生成需要的数值的?
- 请教excel如何根据条件对行排序?紧急求助~!
- 怎样给这个Excel成绩表设置公式?
- Excel问题
- 激活我的飞虎账号?
- 为什么excel里面排序排列一列 数据容易出错?