Excel工作表被修改后自动升序排列
1、Sheet1中有四列数据,修改数据或增一行数据,怎样处理按B列自动升排序?
1、首先打开上例文件,鼠标移到当前工作表标签栏“Sheet1”表,右键,弹出快捷菜单,如下图。
2、在快捷菜单找到【查看代码】并单击,打开VBA(宏)编辑界面,如下图。
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
4、如上步骤操作过程如下动画图。
5、回到工作表窗口,试下运行结果情况,如下动态图。
6、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!