Исправление поведения макрокнопок в защищенных листах (Microsoft Excel)
Робин задал вопрос о странности в Excel. Она создает рабочий лист, содержащий кнопку, нарисованную с помощью панели инструментов «Формы», и назначает кнопке макрос. Кнопка работает нормально, пока рабочий лист не будет защищен, а затем вся верхняя часть рабочего листа действует как кнопка. (Значок руки появляется независимо от того, куда вы перемещаете мышь, и когда вы щелкаете, запускается макрос — вам не нужно нажимать саму кнопку.)
Проблема возникает не со всеми элементами на панели инструментов форм, а возникает только при определенных обстоятельствах. В первую очередь это происходит потому, что кнопка макроса связана с ячейкой (например, ячейкой B2), а затем ячейка удаляется. Это означает, что кнопка по существу «не прикреплена», поэтому Excel не понимает, где именно находится кнопка. Когда рабочий лист защищен, Excel ведет себя странно, поскольку считает, что кнопка находится «везде», поскольку на самом деле не знает, где находится кнопка.
Очевидное решение — убедиться, что кнопка макроса всегда прикреплена к ячейке, которая не удаляется. Снимите защиту с книги, выберите полоску кнопки рядом с заголовками столбцов и переместите ее в ячейку, с которой вы хотите связать ее. Повторно защитите рабочий лист, и странное поведение должно исчезнуть.
Если вы не видите кнопку, которая вызывает проблему, возможно, она слишком мала. Решение этой ситуации — запустить макрос, который ищет все кнопки на листе и делает их видимыми. На незащищенном листе выполните следующее:
Sub CheckShapes() Dim myShape As Shape For Each myShape In ActiveSheet.Shapes With myShape If .Height < 2 Then .Height = 20 If .Width < 2 Then .Width = 20 End With Next myShape End Sub
Макрос проходит через все фигуры на листе и, если их высота или ширина меньше 2 пикселей, увеличивает их высоту и ширину, чтобы они были видны. Теперь вы должны видеть кнопку макроса и можете перетащить ее в любое место на листе или удалить.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2830) применим к Microsoft Excel 97, 2000, 2002 и 2003.