問題は、VBAでこの動作を適切に設定する方法だけだったと思います。
をすばやく使用すると、F1必要なほとんどすべてが提供されます。間違っていたのは の使用でしLocked
た。これは、true
インテントのように動作するために、一部のセルに対しては false である必要があり、他のすべてのセルに対しては false である必要があるためです。
これが私の解決策です:
Public Sub Demo()
With ActiveSheet
'Deactivate lock for all cells, so they don't be blocked by protection
.Cells.Locked = False
'Activate lock for some cells
'Range(Cells(4, 3), Cells(OldRowCount, 7)).Locked = True
.Cells(6, 4).Locked = True
If .ProtectContents Then
.Unprotect
Else
'only contents:=true is really important
.Protect _
Password:="", _
Contents:=True, _
DrawingObjects:=False, _
Scenarios:=False, _
UserInterfaceOnly:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowFiltering:=True, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingHyperlinks:=True, _
AllowInsertingRows:=True, _
AllowSorting:=True, _
AllowUsingPivotTables:=True
End If
End With
End Sub