На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное 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

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

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

    Как от этого глюка избавиться?
    aeskeygenassist bndstx cmpxchg16b dpps endbr64 f2xm1 gf2p8affineinvqb haddps incsspq jrcxz kxnorw ldmxcsr mpsadbw nop orpd pclmulhqlqdq qword rdpmc sha256rnds2 tzcnt unpcklpd vp4dpwssds wrfsbase xgetbv yword zword
      Решил:
      ExpandedWrap disabled
          Set Sheet = Me.ActiveSheet
          Sheets("Настройки").Activate
          Sheet.Activate

      Оказывается, достаточно переключиться на другой лист и обратно...
      aeskeygenassist bndstx cmpxchg16b dpps endbr64 f2xm1 gf2p8affineinvqb haddps incsspq jrcxz kxnorw ldmxcsr mpsadbw nop orpd pclmulhqlqdq qword rdpmc sha256rnds2 tzcnt unpcklpd vp4dpwssds wrfsbase xgetbv yword zword
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0803 ]   [ 17 queries used ]   [ Generated: 4.08.20, 05:44 GMT ]