发布网友 发布时间:2022-03-16 12:32
共7个回答
懂视网 时间:2022-03-16 16:54
excel排序的方法:
1.用电脑里的Excel软件,打开表格文件。
2.选择要排序的内容,点击上方数据。
3.打开排序功能,选择以当前选定区域排序。
4.点击排序,选择确定即可。
热心网友 时间:2022-03-16 14:02
录制排序宏之后,按“Alt+F11”开启VBA编辑界面,双击sheet1,并在右侧下拉菜单中,选择“worksheet”、“change”
代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A:A"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A:A")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
在表格A列输入内容,则可自动排序。
热心网友 时间:2022-03-16 15:20
A1为序号,B1为文件名称,在A2输入=IF(B2="","",SUBTOTAL(103,$B$2:B2))
热心网友 时间:2022-03-16 16:54
不可能这样,不然Excel都乱套了。
但可在B列设置:
B1输入
=SMALL(A:A,ROW())
或
=IF(A1="","",SMALL(A:A,ROW()))
回车并向下填充(下拉)
热心网友 时间:2022-03-16 18:46
用如下VBA程序:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim i1 As Long, i2 As Long, imax As Long
Dim arr(65536) As Double, temp As Double
imax = Range("A65536").End(xlUp).Row
For i1 = 1 To imax
arr(i1) = Range("A" & i1).Value
Next i1
If Target.Column = 1 Then
For i1 = 1 To imax - 1
For i2 = imax - 1 To i1 Step -1
If arr(i2) > arr(i2 + 1) Then
temp = arr(i2)
arr(i2) = arr(i2 + 1)
arr(i2 + 1) = temp
End If
Next i2
Next i1
End If
For i1 = 1 To imax
Range("A" & i1).Value = arr(i1)
Next i1
Application.EnableEvents = True
End Sub追问厉害啊!!!!!!!能讲一下实现原理吗??如何举一反三?分大大的有。。
热心网友 时间:2022-03-16 20:54
这个如果不用VBA,就必须要辅助列或表来实现追问HOW
追答用推荐答案就可以了呀
热心网友 时间:2022-03-16 23:18
rank()