Ярлык свойств и методов Excel vba

Обновлено: 21.11.2024

У меня есть код VBA для определения типа элементов управления пользовательской формы и добавления комментариев к некоторым ячейкам на листе Excel. Эти элементы управления Useform являются динамическими. Я имел в виду, что эти элементы управления, такие как текстовое поле, метка и т. д., вставляются с помощью другого макроса. Это работает нормально. Я использую что-то вроде этого формата для добавления этих элементов управления:: set Label1i = UserForm2.Controls.Add("Forms.Label.1", "Test" & labelCounter, True) . Когда я вызываю ниже sub из командной кнопки в той же пользовательской форме. Я получаю сообщение "Ошибка выполнения 438: объект не поддерживает это свойство или метод"

Приведенный ниже код успешно выполнялся. Однако, когда я добавляю в эту программу еще одно ручное «Текстовое поле», появляется эта ошибка.

Может ли кто-нибудь помочь мне в этом.

@SiddharthRout: Да. В элементах управления уже есть изображение. Да..да.. после введения этого, я поднимаю этот вопрос.

1 Ответ 1

cCont <> ""

Я получаю сообщение "Ошибка выполнения 438: объект не поддерживает это свойство или метод"

@SiddharthRout: Да. В элементах управления уже есть изображение. Да.. да.. после введения этого, я иду в этом вопросе. – user3342652 7 минут назад

Вы получите эту ошибку, если у вас есть элемент управления в пользовательской форме, который не имеет свойства по умолчанию. Например, элемент управления изображением. У этого элемента управления нет свойства по умолчанию, как у Textbox/Range/CommanButton и т. д.

Можно просто сказать

но ниже выдаст ошибку

Поэтому, когда вы говорите cCont <> "" , вы пытаетесь сравнить строку со свойством элемента управления по умолчанию (которого в данном случае нет) и, следовательно, вы получаете ошибку Runtime 438 error: Object не поддерживает это свойство или метод

Попробуйте обработать ошибку и посмотреть, о каком именно элементе управления идет речь?

Например

Решение:

Для этого разбейте IF на 2 части, как показано ниже. Второе условие If будет проверяться только при выполнении первого условия.

Ярлык — это один из элементов управления пользовательской формы. Вы можете выбрать и перетащить метку на пользовательской форме. Метка используется для отображения текста шоу или информации. Это может быть заголовок, подпись и т. д. Его можно использовать в пользовательской форме. Вы можете увидеть, как это работает, и более подробную информацию об элементе управления метками пользовательской формы в пользовательской форме в следующей главе.

В этой теме:

VBA ActiveX Label_Control в пользовательской форме

Дополнительную информацию об элементе управления метками ActiveX VBA можно найти в пользовательской форме.

  1. Перейдите на вкладку "Разработчик", а затем нажмите Visual Basic в коде или нажмите клавиши ALT+F11.
  2. Перейдите в меню «Вставка», нажмите «Пользовательская форма». Пожалуйста, найдите скриншот для того же.

Добавить динамический Label_Control в пользовательскую форму с помощью VBA

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

  1. Добавьте Label и CommandButton в пользовательскую форму из панели инструментов.
  2. Щелкните правой кнопкой мыши CommandButton, выберите "Свойства".
  3. Измените заголовок CommandButton на Create_Label
  4. Дважды щелкните CommandButton.
  5. Теперь он показывает следующий код.
  6. Вызовите приведенную ниже процедуру с именем «Add_Dynamic_Label» и найдите указанную ниже процедуру для запуска.

Процедура вызова CommandButton:

вывод:

Удалить Label_Control в пользовательской форме с помощью VBA

Пожалуйста, найдите приведенный ниже код, он покажет вам, как удалить или удалить элемент управления в пользовательской форме. В приведенном ниже примере удаляется метка с именем «Новая метка», которая находится в пользовательской форме с именем «UserForm4». Мы можем использовать метод Remove для удаления элементов управления, созданных во время выполнения. Элементы управления, созданные во время разработки, не могут быть удалены с помощью этого метода. Пожалуйста, найдите приведенный ниже пример и снимки экрана для лучшего понимания.
Код 1. Добавление контроля во время выполнения

пожалуйста, найдите приведенный ниже снимок экрана для ознакомления с приведенным выше макросом и его выводом.
Когда мы нажимаем кнопку «Добавить команду»:

Код 1: удаление или удаление label_control, созданного во время выполнения.

Пожалуйста, найдите приведенный ниже снимок экрана для ознакомления с приведенным выше макросом и его выводом.
Когда мы нажимаем кнопку «Удалить команду»:

Несколько способов добавления текста в форму пользователя с помощью ярлыка.

Это включает в себя простой способ добавления основного текста и способ добавления большого количества текста, включая новые строки.

Разделы:

Добавить текст в пользовательскую форму

Ярлык — это элемент управления, который используется для добавления текста в форму пользователя.

Нажмите на пользовательскую форму и посмотрите на Панель инструментов (если вы ее не видите, выберите Вид > Панель инструментов).

Нажмите A на панели инструментов.

После того, как вы нажмете A, перейдите к форме, нажмите и перетащите, пока не появится метка.

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

Добавить текст

После того, как у вас есть метка, откройте окно "Свойства" и измените свойство "Заголовок". Это определяет, какой текст появляется на этикетке. Если вы не видите окно свойств, убедитесь, что вы щелкнули ярлык и нажали F4.

Это самый простой способ добавить текст в форму пользователя.

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

Добавить текст с помощью VBA

Мы также можем добавить текст к метке с помощью VBA, и это немного упрощает добавление текста.

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

Куда добавить текст

Текст добавляется в событии UserForm_Initialize. В окне проекта VBA щелкните правой кнопкой мыши нужную пользовательскую форму и выберите "Просмотр кода".

В открывшемся окне найдите раздел UserForm_Initialize(). Если вы не видите этот раздел, посмотрите на раскрывающиеся меню в верхней части окна и выберите «Пользовательская форма» слева и «Инициализировать» справа. Этот раздел кода запускается при открытии формы.

Как добавить текст

Label1 – это название ярлыка. Это можно увидеть, щелкнув метку и заглянув в раздел (Имя) окна свойств.

Подпись указывает форме добавить текст к метке.

Все, что заключено в кавычки, — это то, что вы хотите добавить к ярлыку.

В следующем разделе показано, как добавить несколько строк текста.

Несколько строк текста в метке

VBA позволяет нам добавлять несколько строк, что немного больше форматирует метку.

vbNewLine добавляет новую строку.

& идет до и после части vbNewLine, и каждый раздел текста должен быть заключен в кавычки.

Вот результат:

Сохраняя содержимое метки в окне кода пользовательской формы, вы можете добавлять новые строки и намного проще управлять текстом.

Этот метод также можно использовать для добавления текста к метке из рабочего листа.

Добавить текст из рабочего листа

Вы можете легко добавить текст из рабочего листа, просто следуя приведенным выше примерам и добавив дополнительный код, чтобы получить значение из Excel.

Ярлык1 – это название ярлыка.

Sheets("Лист1").Range("A8") — это адрес ячейки, содержащей текст, который нужно поместить в метку. Sheet1 — это имя рабочего листа, а A8 — ячейка.

Примечания

Для небольших объемов текста вы можете использовать свойство Caption в окне свойств; для больших объемов текста или, если вы хотите сделать более динамичные фрагменты текста, используйте немного VBA, и это сделает вашу жизнь намного проще.

Обязательно загрузите прикрепленный файл примера, чтобы увидеть эти примеры в Excel.Некоторые примеры были закомментированы, но они все еще там, и вы можете увидеть их и работать с ними, раскомментировав их.

Вопрос? Спросите об этом на нашем форуме Excel

Курс Excel VBA — от новичка до эксперта

200+ видеоуроков 50+ часов обучения 200+ руководств Excel

С помощью этого онлайн-курса станьте мастером VBA и макросов в Excel и узнайте, как автоматизировать все свои задачи в Excel. (Опыт работы с VBA не требуется.)

Курс VBA — от новичка до эксперта

Как добавить форматирование к ячейкам и данным в стилях, шрифтах, цветах и ​​т. д. Excel
Учебное пособие. В этом учебном пособии я расскажу, как использовать различные инструменты форматирования в Excel. Формат.

Преобразование чисел, сохраненных в виде текста, в числа в Excel
Учебник: я покажу вам 4 способа преобразования чисел, сохраненных в виде текста, в числа в Excel. Эта ситуация.

Как создать диаграмму и управлять ею в Excel
Учебное пособие. В этом учебном пособии я собираюсь познакомить вас с созданием и управлением диаграммами в Excel. Перед.

Простые альтернативы пользовательским формам
Учебное пособие. В этом учебном пособии рассказывается о нескольких простых способах показа всплывающих окон пользователям, которые позволяют вам .

Добавить значения в список
Учебник: Как заполнить список значениями в пользовательской форме. По умолчанию список в форме будет e.

Добавление значений в поле со списком
Учебное пособие: добавление значений в поле со списком в пользовательской форме в Excel. Есть 3 простых способа добавить значения, tw.

Подпишитесь на еженедельные уроки

БОНУС: подпишитесь сейчас, чтобы загрузить нашу электронную книгу Top Tutorials!

Ссылка на наши 15 лучших учебных пособий была отправлена ​​вам, проверьте свою электронную почту, чтобы загрузить ее!

(Если вы не видите электронное письмо, проверьте папку "Спам" или "Промоакции" и обязательно добавьте нас в список контактов, чтобы получать наши электронные письма в будущем.)

Элемент управления Label представляет стандартную метку Windows. Обычно он используется для отображения информационного текста в графическом интерфейсе, который не изменяется во время выполнения.

Давайте создадим метку, перетащив элемент управления Label из панели инструментов на форму.

Свойства элемента управления Label

Ниже приведены некоторые часто используемые свойства элемента управления Label.

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

Стиль границы

Получает или задает стиль границы для элемента управления.

Получает или задает плоский вид элемента управления Label

Получает или задает шрифт текста, отображаемого элементом управления.

Получает или задает высоту шрифта элемента управления.

Получает или задает цвет переднего плана элемента управления.

Предпочтительная высота

Получает предпочтительную высоту элемента управления.

Предпочтительная ширина

Получает предпочтительную ширину элемента управления.

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

Получает или задает текст, связанный с этим элементом управления.

Получает или задает выравнивание текста в метке.

Методы управления ярлыками

Ниже приведены некоторые из наиболее часто используемых методов элемента управления Label.

Получить предпочтительный размер

Получает размер прямоугольной области, в которую можно поместить элемент управления.

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

Активирует элемент управления.

Отображает элемент управления для пользователя.

Возвращает строку, содержащую имя элемента управления.

События управления ярлыками

Ниже приведены некоторые из наиболее часто используемых событий элемента управления Label.

Авторазмер изменен

Происходит при изменении значения свойства AutoSize.

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

Двойной щелчок

Происходит при двойном щелчке элемента управления.

Происходит, когда элемент управления получает фокус.

Происходит, когда фокус ввода покидает элемент управления.

Происходит, когда элемент управления теряет фокус.

TabIndexChanged

Происходит при изменении значения свойства TabIndex.

TabStopChanged

Происходит при изменении свойства TabStop.

Текст изменен

Происходит при изменении значения свойства Text.

Подробный список свойств, методов и событий элемента управления Label см. в документации Microsoft.

Пример

Ниже приведен пример, показывающий, как можно создать две метки. Давайте создадим первую метку на вкладке представления дизайнера и зададим ее свойства из окна свойств. Мы будем использовать события Click и DoubleClick метки, чтобы переместить первую метку и изменить ее текст, а также создать вторую метку и добавить ее в форму соответственно.

Выполните следующие действия –

Перетащите элемент управления Label на форму.

Установите свойство Text, чтобы предоставить заголовок "Это элемент управления меткой".

Установите свойство Font в окне свойств.

Нажмите на ярлык, чтобы добавить событие Click в окно кода, и добавьте следующие коды.

Когда приведенный выше код выполняется и запускается с помощью кнопки «Пуск», доступной на панели инструментов Microsoft Visual Studio, отображается следующее окно —

Щелчок и двойной щелчок по метке приведет к следующему эффекту —

Читайте также: