Как разрешить форматирование и настройку защищенных ячеек по размеру - VBA - PullRequest
0 голосов
/ 11 декабря 2018

Я установил заблокированную книгу, в которой заблокировал листы, используя VBA.Как настроить этот код, чтобы позволить пользователю изменять высоту строки / столбца и форматировать ячейки (то есть, например, изменить формат ячейки в процентах вместо валюты).Однако лист должен оставаться заблокированным.Это код, который у меня есть в Workbook_Open:

Заранее большое спасибо:)

Private Sub Workbook_Open()

Dim wSheet As Worksheet

Sheet1.Protect Password:="12345", _
        UserInterFaceOnly:=True

Sheet11.Protect Password:="12345", _
        UserInterFaceOnly:=True

Exit Sub

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Аргументы для Worksheet.Protect включают опции для AllowFormattingCells и AllowFormattingRows .

AllowFormattingRows охватывает возможность изменять высоту строки.AllowFormattingCells охватывает большинство стандартных форматов ячеек, но не охватывает все;например, отступ не разрешен.

Option Explicit

Private Sub Workbook_Open()

    Sheet1.UnProtect Password:="12345"
    Sheet1.Protect Password:="12345", _
                   UserInterFaceOnly:=True, _
                   AllowFormattingCells:=True, _
                   AllowFormattingRows:=True

    Sheet11.UnProtect Password:="12345"
    Sheet11.Protect Password:="12345", _
                    UserInterFaceOnly:=True, _
                    AllowFormattingCells:=True, _
                    AllowFormattingRows:=True


End Sub

Подпроцедура должна заканчиваться на End Sub not Exit Sub .

0 голосов
/ 11 декабря 2018

Документация Worksheet.Protect содержит то, что вам нужно, а именно следующие параметры, которые должны быть True.

  • AllowFormattingCells: True позволяет пользователю форматировать любую ячейку на защищенном листе.Значением по умолчанию является False .
  • AllowFormattingColumns: True позволяет пользователю форматировать любой столбец на защищенном листе.Значением по умолчанию является False .
  • AllowFormattingRows: True позволяет пользователю форматировать любую строку защищенной.Значение по умолчанию False .
...