Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Удаление элементов управления формы с листа

    Программное удаление элементов управления формы с рабочего листа при помощи кода VBA Excel. Метод Delete объекта Shape — синтаксис, примеры.

    Метод Delete объекта Shape

    Синтаксис метода Delete объекта Shape:

    Workbooks("BookName").Worksheets("SheetName").Shapes("ShapeName").Delete

    • BookName – имя рабочей книги вместе с расширением, книга должна быть открыта.
    • SheetName – имя рабочего листа, которое отображается на ярлычке.
    • ShapeName – имя элемента управления формы.

    Элементы управления формы имеют два имени: основное на английском языке и альтернативное на русском. Как ни странно, оба этих имени можно использовать в качестве ShapeName в выражении, удаляющем элемент управления с рабочего листа.

    Чтобы узнать альтернативное имя на русском языке, необходимо кликнуть правой кнопкой мыши по элементу управления формы. Откроется первое контекстное меню, а в адресной строке отобразится альтернативное имя.

    Альтернативное имя кнопки на русском языке
    Альтернативное имя кнопки на русском языке

    Чтобы узнать основное имя на английском языке, необходимо кликнуть правой кнопкой мыши по элементу управления формы с задержкой на одну секунду: нажать кнопку, подождать одну секунду и отпустить. Откроется второе контекстное меню, а в адресной строке отобразится основное имя.

    Основное имя кнопки на английском языке
    Основное имя кнопки на английском языке

    Точно так же определяются основные и альтернативные имена других элементов управления формы.

    Удаление одного элемента управления

    Удаление элемента управления формы с рабочего листа книги, в которой размещен код:

    ThisWorkbook.Worksheets("Лист2").Shapes("Button 5").Delete

    Worksheets("Лист4").Shapes("Перекл. 3").Delete

    ActiveSheet.Shapes("Drop Down 2").Delete

    Удаление элемента управления формы с рабочего листа другой открытой книги:

    Workbooks("Чеки.xls").Worksheets("Чек №5").Shapes("Кнопка 2").Delete

    Удаление всех элементов управления

    Удаление всех элементов управления формы всех типов:

    Этот код удалит все имеющиеся на листе элементы управления формы.

    Удаление всех однотипных элементов управления формы:

    Этот код удалит все имеющиеся на листе элементы, в наименование которых входит подстрока «Button». В данном случае будут удалены все кнопки.

    Точно также можно удалить и другие типы элементов управления формы, заменив аргумент оператора Like «Button*» на часть имени другого типа элементов с символом звездочки. Например: «Label*», «Drop Down*», «Check Box*» и т.д.

    Смотрите как удалить элементы управления ActiveX с рабочего листа.

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    1 комментарий для “VBA Excel. Удаление элементов управления формы с листа”

    1. Для упрощения ввода данных вы можете вставлять такие элементы управления формы, как флажки и переключатели. Флажки хорошо подходят для форм с несколькими вариантами. Переключатели удобнее использовать, когда у пользователя только один вариант выбора.

    Обсуждение закрыто.