На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Популярные разделы FAQ:    user posted image Общие вопросы    user posted image Особенности VBA-кода    user posted image Оптимизация VBA-кода    user posted image Полезные ссылки

1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость - сестра таланта.
3. Не забывайте использовать теги [сode=vba] ...текст программы... [/code] для выделения текста программы подсветкой!
4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.
Модераторы: Old Bat, MIF
  
> "Прыжки" курсора при снятии защиты листа, Excel 2016
    Всем привет.

    При загрузке книги хочу, чтобы на всех листах, если они защищены (или если будут защищены), можно было использовать группировку.

    Делаю так:
    ExpandedWrap disabled
      Private Sub Workbook_Open()
        Dim Sheet As Object
        For Each Sheet In Me.Sheets
          ReProtectSheet Sheet
        Next Sheet
      End Sub
       
      Sub ReProtectSheet(Sheet As Worksheet)
        Dim Protected As Boolean
        Protected = Sheet.ProtectContents
        If Protected Then Sheet.Unprotect
        Sheet.EnableOutlining = True
        Sheet.Protect UserInterfaceOnly:=True
        If Not Protected And Sheet.Name <> "Настройки" Then Sheet.Unprotect
      End Sub

    Т.е. если лист защищён, он разблокируется, затем защищается и снова разблокируется, если изначально не был защищён.

    Проблема в том, что после снятия защиты (неважно – программно или вручную) я могу выделить любую ячейку мышью, однако курсор (при перемещении стрелками) прыгает только по тем ячейкам, у которых опция "Защищаемая ячейка" сброшена. Ещё раз: это происходит даже после отключения защиты!

    Как от этого глюка избавиться?
    vpmultishiftqb vscatterpf0dps vfmsubadd132pd vgatherpf1dps vpclmulhqlqdq vcmptrue_ussd vaeskeygenassist
      Решил:
      ExpandedWrap disabled
          Set Sheet = Me.ActiveSheet
          Sheets("Настройки").Activate
          Sheet.Activate

      Оказывается, достаточно переключиться на другой лист и обратно...
      vpmultishiftqb vscatterpf0dps vfmsubadd132pd vgatherpf1dps vpclmulhqlqdq vcmptrue_ussd vaeskeygenassist
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0746 ]   [ 18 queries used ]   [ Generated: 19.07.19, 08:18 GMT ]