EXCEL如何自动排序???
答案:4 悬赏:0
解决时间 2021-04-28 03:04
- 提问者网友:℡她的他i☆
- 2021-04-27 08:01
如题:比如我要对一个学生成绩进行排序,事先我不知道谁的分大,我一个一个输入,当我输入一个数回车后,该学生的这一排或者列都和其他牌或列进行自动进行排列大小。这个功能如何实现??
最佳答案
- 二级知识专家网友:不羁的心
- 2021-04-27 09:17
自动功能只能用VBA宏来实现,在这个表格的底部标签上点鼠标右键,选“查看代码”,弹出VBA窗口,把下面代码粘贴进去就行了。
Private Sub Worksheet_Change(ByVal Target As Range)
'假设数据区域在A1:C100,对A列进行排序
Range("A1:C100").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortTextAsNumbers
End Sub
这样就能自动对A列排序 了
Private Sub Worksheet_Change(ByVal Target As Range)
'假设数据区域在A1:C100,对A列进行排序
Range("A1:C100").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortTextAsNumbers
End Sub
这样就能自动对A列排序 了
全部回答
- 1楼网友:社会水太深
- 2021-04-27 12:28
这用代码很好解决
在你的工作表名称那里——右键——查看代码
把下面的代码全部复制进去,就可以了
private sub worksheet_change(byval target as range)
if target.column = 1 then '当a列的数据有改变时
i = selection.row
j = selection.column
columns("a:a").select '选中你要排序的列,这是a列,如是是abc三列,则换为"a:c"
selection.sort key1:=range("a1"), order1:=xldescending, header:=xlguess, _
ordercustom:=1, matchcase:=false, orientation:=xltoptobottom, sortmethod _
:=xlpinyin, dataoption1:=xlsortnormal
'key1:=range("a1"), 表示用a列进行排序
cells(i, j).select
end if
end sub
'这是你输入一个数,按回车后,自动排序,然后把光标移到下一个单元格
- 2楼网友:最后战士
- 2021-04-27 11:40
全部输入之后、排序就可以了!
- 3楼网友:安稳不如野
- 2021-04-27 10:48
先输入再排序也可达到你的最终目的。
否则要用到VBA。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息