VBA Excel. Удаление элементов ActiveX с рабочего листа

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

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

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

    Workbooks("BookName").Worksheets("SheetName").OLEobjects("OLEobjectName").Delete

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

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

    Имя элемента ActiveX в адресной строке

    Имя элемента ActiveX в адресной строке

    На изображении в строке формул вы видите текст: =ВНЕДРИТЬ("Forms.ComboBox.1";""). Ни в коем случае не кликайте по нему мышью. Если курсор попадет в строку формул, выйти из нее вы уже не сможете.

    Если такая беда все-таки приключилась, нажмите сочетание клавиш Ctrl+Alt+Delete, а затем кнопку «Диспетчер задач». В диспетчере задач Windows на вкладке «Процессы» выберите экземпляр программы Microsoft Excel с зависшей книгой и нажмите кнопку «Снять задачу». Зависшая книга будет закрыта, несохраненные данные утеряны.

    Окно диспетчера задач Windows

    Окно диспетчера задач Windows

    Удаление одного элемента ActiveX

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

    ThisWorkbook.Worksheets("Лист1").OLEobjects("CommandButton1").Delete

    Worksheets("Лист1").OLEobjects("TextBox2").Delete

    ActiveSheet.OLEobjects("OptionButton1").Delete

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

    Workbooks("Реестры.xls").Worksheets("Приказы").OLEobjects("ComboBox2").Delete

    Удаление всех элементов ActiveX

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

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

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

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

    Точно также можно удалить и другие типы элементов управления ActiveX, заменив аргумент оператора Like «ComboBox*» на часть имени другого типа элементов с символом звездочки. Например: «CommandButton*», «Label*», «OptionButton*» и т.д.

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

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

    Добавить комментарий

    Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.