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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. Александр

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

    2. Здравствуйте! На листе есть кнопка ActiveX и при копировании, перемещении листа макросом или без, кнопка тоже копируется.
      Можно ли, чтоб кнопка не копировалась. В свойствах поставил чтоб не печатался, но на копирование не влияет. Спасибо

      1. Евгений

        Здравствуйте, Ислам!
        Добавьте на копируемый лист еще одну кнопку для копирования этого листа, в примере — это кнопка CommandButton2:

        В копии листа все кнопки ActiveX будут удалены.

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