Excel自动排序问题
录制一个宏,稍微改改,用Worksheet_Change事件触发就行
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 And Target.Row > 1 Then
Call px
End If
Target.Offset(1, 0).Select
End Sub
Private Sub px()
aa = Range("a65536").End(xlUp).Row
Rows("1:1").Select
Range(Selection, Selection.End(xlDown)).Select
Me.Sort.SortFields.Clear
Me.Sort.SortFields.Add Key:=Range("H2:H11"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With Me.Sort
.SetRange Range("A1:H" & Range("a65536").End(xlUp).Row)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("i2:i10000").ClearContents
r = Range("h65536").End(xlUp).Row
For i = 2 To r
Cells(i, 9) = Application.Rank(Cells(i, 8), Range("h2:h" & r))
Next
End Sub
这么复杂啊大哥,不过貌似挺可行的,待我有空了试试,先采纳了,有什么疑问再问你,谢谢啦!
排完序之后,在最后一列输入一个名次列,下拉填充123就可以了。
对不起,这个功能大家都知道,但我想要我提问里描述的,谢谢啦
这些回答的大神里,只有你的还算靠谱,其他的人都是答非所问。
不用编程,不用access,仅用公式无法做到么?
以我现在掌握的情况做不到,因为要同步的单元格较多。
这个不是我想要的,我想要的事我提问里描述的,谢谢!
你说的这种排序就是常规的人工介入排序,实不相瞒,这些数据都是从其它表格用vlookup自动导入的,都带有公式,如果按普通的模式排序,会复杂很多,所以我想实现我提问里描述的功能,谢谢了