Обычная задача, выполняемая в макросах, — блокировать и разблокировать различные ячейки и объекты в книге. Это часто делается в целях защиты, чтобы пользователи не могли случайно изменить что-либо. Если вам нужно разблокировать диаграммы, которые находятся в вашей книге, вы можете легко это сделать, если помните, что, хотя диаграммы можно рассматривать как объекты рисования, вы не разблокируете их как объекты рисования — вы специально разблокируете объект диаграммы.

Кроме того, способ разблокировки диаграммы зависит от того, является ли она листом диаграммы или объектом диаграммы на обычном листе. Следующий код с именем ChartUnProtect предоставляет пример того, как успешно снять защиту обоих типов диаграмм.

Sub ChartUnProtect()

Dim wks As Worksheet     Dim cht As Chart     Dim chtObj As ChartObject     Dim PW As String     PW = "mypass"



'Unprotect all Chart sheets     For Each cht In ActiveWorkbook.Charts         Sheets(cht.Name).Unprotect password:=PW     Next

'Unlock all Chart objects on each worksheet     For Each wks In ActiveWorkbook.Worksheets         wks.Unprotect password:=PW         For Each chtObj In wks.ChartObjects             wks.DrawingObjects(chtObj.Name).Locked = False         Next         wks.Protect password:=PW     Next End Sub

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2264) применим к Microsoft Excel 97, 2000, 2002 и 2003.