Excel工作表被修改后自动升序排列

2025-09-21 00:05:30

1、Sheet1中有四列数据,修改数据或增一行数据,怎样处理按B列自动升排序?

Excel工作表被修改后自动升序排列

1、首先打开上例文件,鼠标移到当前工作表标签栏“Sheet1”表,右键,弹出快捷菜单,如下图。

Excel工作表被修改后自动升序排列

2、在快捷菜单找到【查看代码】并单击,打开VBA(宏)编辑界面,如下图。

Excel工作表被修改后自动升序排列

3、在左边代码框中复制下面代码到该框中,如下图。

Private Sub Worksheet_Change(ByVal Target As Range)

'2019-12-11 20:39:17

Dim r1 As Long, r2 As Long, r3 As Long, r4 As Long

If Target.Column >= 1 And Target.Column <= 4 Then

   r1 = Range("a65536").End(xlUp).Row

   r2 = Range("b65536").End(xlUp).Row

   r3 = Range("c65536").End(xlUp).Row

   r4 = Range("d65536").End(xlUp).Row

   If r1 = r2 And r2 = r3 And r3 = r4 Then

      ActiveSheet.Sort.SortFields.Clear

      ActiveSheet.Sort.SortFields.Add Key:=Range("b2:b" & r1) _

        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    With ActiveSheet.Sort

        .SetRange Range("A2:D" & r1)

        .Header = xlGuess

        .MatchCase = False

        .Orientation = xlTopToBottom

        .SortMethod = xlPinYin

        .Apply

    End With

   End If

End If

End Sub

Excel工作表被修改后自动升序排列

4、如上步骤操作过程如下动画图。

Excel工作表被修改后自动升序排列

5、回到工作表窗口,试下运行结果情况,如下动态图。

Excel工作表被修改后自动升序排列

6、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢