Excel VBA запустить макрос на странице перед выходом - PullRequest
0 голосов
/ 24 января 2019

Мне нужно составить таблицу перед тем, как покинуть страницу, которая есть у меня в функции (для того, чтобы отфильтрованный выпадающий список имел правильные значения, но это не имеет значения для случая).

Я получил функцию, запускаемую при выходе со страницы, которая работает нормально

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
  • pubWsCategory - это имя переменной на исходящей странице.

Я исчерпалидей и не знаю что еще делать.Может кто-нибудь мне помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...