Откройте окно сортировки Excel

0

Я должен отсортировать защищенный лист и выполнить танец «незащищать-сортировать-защитить».

Проблема заключается в том, что я дублирую (не совсем идеально) собственную функцию сортировки в Excel с предсказуемыми проблемами.

Я установил защищенный лист и включил «Сортировку» в «Разрешить пользователям этого листа» в окне «Защитить лист», но это не работает должным образом.

Я думал тогда попытаться открыть диалог сортировки в Excel (см. Ниже). Это выставлено нам разработчикам?

введите описание изображения здесь

Lorenzo
источник
Вы можете просто попробовать метод Range.Sort в VBA.
Ланс Робертс

Ответы:

0

Попробуйте использовать автофильтр. Это позволит вам защитить лист и позволить пользователю сортировать столбцы.

Computerologist
источник
Это тоже выбрано, но оно не работает на защищенном листе
Lorenzo
0

Откроется диалоговое окно «Сортировка» (протестировано на XL 2010). Если текущий выбор не содержит сортируемый контент, он покажет Msgbox с сообщением об ошибке. Имейте в виду, что если выбран весь столбец, пользователь не будет расширять свой выбор, как это обычно делает Excel. Один из вариантов заключается в выборе параметра UsedRange или другого диапазона перед отображением диалогового окна. Вы хотите экспериментировать.

В Excel 2007 включен новый объект Sort, в котором хранятся поля, подлежащие сортировке, но я не вижу, как он взаимодействует с этим диалогом, если он вообще существует.

Вы можете найти список аргументов xlDialogSort здесь .

 Sub ShowSortDialog()

    On Error Resume Next
    Application.Dialogs(xlDialogSort).Show
    If Err.Number = 1004 Then
        MsgBox "Place the cursor in the area to be sorted"
    End If
    Err.Clear

    End Sub
Даг Глэнси
источник