Я использую следующий код для блокировки содержимого определенных ячеек
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
позволили AllowFormattingRows:=True
размер.