AFAIK, единственный способ сделать это - защитить лист с помощью DrawingObjects:=True
и всеми другими опциями с False
или True
по желанию.
ws.Protect DrawingObjects:=True, Contents:=False, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
Обратите внимание, что вынеобходимо Unprotect
лист, прежде чем пытаться добавить кнопки, если он уже защищен.
Примечание: : A Button
также имеет Locked
и LockedText
свойство, но они действуют только , если рабочий лист защищен .Установка для них значения False
позволяет редактировать кнопку, если для рабочего листа установлено значение в режиме конструктора (но все еще защищено).Как упоминалось ранее, я думаю, что единственный способ выполнить то, что вы ищете, это защитить лист.