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

Я использую следующий код для блокировки содержимого определенных ячеек

Sub LockCell(ws As Worksheet, strCellRng As String)
  With ws
  .Unprotect
  .Cells.Locked = False
  .Range(strCellRng).Locked = True
  .Protect Contents:=True, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows:=True, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True, DrawingObjects:=True
  End With
End Sub

Он блокирует содержимое этих конкретных столбцов. Проблема в том, что пользователи не могут ни сортировать, ни фильтровать, ни применять границы к ячейкам, поскольку эти пункты меню Excel отключены.

Я думал, что AllowSorting:=True, AllowFiltering:=Trueи DrawingObjects:=Trueпозволяют изменять размер так же, как AllowFormattingColumns:=Trueи AllowFormattingRows:=True.

14
задан Community 8 May 2019 в 06:48
поделиться