如何实现excel 自动实时的排序?
不用每次新数据加入后,都手工排序例如:A列按照从小到大排序 A1 4A2 5A3 6 当A4 输入3的时候自动就把 3排列到A1 的位置
回答数:
5
提问时间:
2020-06-29 03:14:39

用户回答

LBWB
回答时间:2020-06-29 03:29:03

录制排序2113宏之后,按“Alt+F11”开启VBA编辑界面,5261双击sheet1,并在右侧下4102拉菜单中,选择“worksheet”、1653“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列输入内容,则可自动排序。


  • 翁雄
    回答时间:2020-06-29 03:43:27
    不可能这样,不然Excel都乱套了。
    但可在B列设置:
    B1输入
    =SMALL(A:A,ROW())

    =IF(A1="","",SMALL(A:A,ROW()))
    回车并向下填充(下拉)更多追问追答追问
    我见过可以实现的!每输入一次数据,就会自动排序一次。
    追答
    这就要编辑VBA实现了。
    追问
    我这个例子很简单。。怎么处理?
    追答
    Sub A列升序排序()
    For a = 1 To Sheets.Count
    Sheets(a).Select
    [a:a].Sort [a1], Order1:=xlAscending
    Next
    Sheets(1).Select auto
    End Sub

    还要执行宏的
    追问
    我见过直接自动排序的,不需要再执行一次!!!看来知道的人真少!分还是给你把
    本回答被提问者和网友采纳
  • 享乐才子
    回答时间:2020-06-29 03:57:51
    A1为序号,B1为文件名称,在A2输入=IF(B2="","",SUBTOTAL(103,$B$2:B2))
  • mb47046306
    回答时间:2020-06-29 04:12:15
    用如2113下5261VBA程序4102:1653
    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追问
    厉害啊!!!!!!!能讲一下实现原理吗??如何举一反三?分大大的有。。
    清清清
    回答时间:2020-06-29 04:26:39
    这个如果不用VBA,就必须要辅助列或表来实现追问
    HOW
    追答
    用推荐答案就可以了呀

    相关视频

    相关文章

    Copyright © 2019-2020 懂视生活 51dongshi.com 版权所有

    湘ICP备19013665号-5 违法及侵权请联系:TEL:0731-84117792 E-MAIL:11247931@qq.com