在离开函数中的页面之前,我必须先整理一张表(以使过滤后的下拉列表具有正确的值,但这与情况无关)。
我离开页面时运行了该函数,效果很好
Private Sub Worksheet_Deactivate()
Sort_CategoryProject_Group
End Sub
但是问题在于,执行该函数时,排序会更改为离开页面,然后再次执行“ WorkSheet_Deactivate”子程序,并进入无限循环。
这是过程
Sub Sort_CategoryProject_Group()
'9A14
'Sort after Project Name
Dim lastRow As Byte
lastRow = Sheets(pubWsCategory).Cells(Rows.Count, 12).End(xlUp).Row
Sheets(pubWsCategory).Range("L4:U" & lastRow).Select
ActiveWorkbook.Worksheets(pubWsCategory).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(pubWsCategory).Sort.SortFields.Add Key:=Range("L4:L" & lastRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(pubWsCategory).Sort.SortFields.Add Key:=Range("M4:M" & lastRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(pubWsCategory).Sort
.SetRange Range("L4:U" & lastRow)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.CutCopyMode = False
Range("B4").Select
End Sub
我的想法用光了,我不知道该怎么办。 谁能帮我?