Текстовое поле VBA

В этой статье будет продемонстрировано, как использовать текстовое поле в Excel VBA.

VBA имеет возможность создавать формы, с которыми пользователь может взаимодействовать, такие как формы счетов-фактур или контактные данные. Текстовые поля - это элементы управления, которые можно использовать в этих формах, или текстовые поля можно создавать непосредственно в самом Excel.

Создание текстовых полей в формах VBA

Чтобы вставить текстовое поле в форму VBA, нам сначала нужно создать форму. Это делается в редакторе VBE.

Сначала откройте редактор VBE в Excel.

Чтобы вставить новую пользовательскую форму в свой код, выберите UserForm вариант из меню "Вставить".

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

Вы можете переименовать свою форму, используя Характеристики коробка. Это должно появиться под вашим Обозреватель проекта.

Если насколько видно, нажмите F4 или щелкните Вид, Окно свойств.

Щелкните в Имя свойство и переименуйте форму.

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

Чтобы заполнить форму элементами управления, нам нужно включить Toolbox.

в Меню, Выбрать Просмотр> Панель инструментов.

Чтобы создать текстовое поле в форме, выберите элемент управления «Текстовое поле» на панели инструментов.

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

Поскольку это первое текстовое поле, которое мы создаем, оно будет называться TextBox1. Как и в случае с формой, вы можете использовать окно «Свойства», чтобы переименовать текстовое поле.

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

Чтобы использовать форму в коде VBA, нам нужно добавить в форму кнопку. Это делается путем выбора элемента управления Command Button на панели инструментов и перетаскивания кнопки на форму.

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

Написание кода за формами

После того, как мы создали нашу форму, нам нужно написать код VBA, чтобы вставить информацию из нашей формы на рабочий лист Excel. Этот код называется CBF (Код позади форм).

В VBE дважды щелкните командную кнопку, чтобы перейти к коду за кнопкой.

Будет создана подпрограмма для события нажатия кнопки. Мы можем ввести наш код VBA в эту процедуру. Например:

123456 Частная подпрограмма cmdOK_Click ()Диапазон ("A1") = Me.txtFirstNameДиапазон ("A2") = Me.txtSurnameДиапазон ("A3") = Me.txtCellPhoneРазгрузить меняКонец подписки

Эта процедура поместит данные, введенные в текстовые поля, в Excel, а затем закроет форму.

Создание текстовых полей на листе Excel

Также можно создавать текстовые поля в электронной таблице Excel. Для этого у вас должна быть включена лента разработчика.

Примечание. Если вы не видите ленты разработчика, вам необходимо включить ее.

На ленте выберите Разработчик> Вставить> Элементы управления ActiveX> Текстовое поле.

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

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

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

Чтобы использовать текстовое поле непосредственно в Excel, как мы использовали его в форме VBA выше, нам нужен способ вернуть данные, введенные в текстовое поле, на лист Excel. Это можно сделать, добавив на рабочий лист командную кнопку ActiveX и используя click_event этой командной кнопки, чтобы вернуть информацию из текстового поля на лист Excel.

На ленте выберите Разработчик> Вставка> Элементы управления ActiveX> Командная кнопка чтобы добавить командную кнопку на лист Excel. Включите окно «Свойства» и измените имя кнопки, заголовок кнопки и ускоритель кнопки, как показано на изображении ниже.

Дважды щелкните кнопку, чтобы перейти к событию нажатия кнопки VBA, и введите следующий код:

123 Частная подпрограмма cmdOK_Click ()Диапазон ("A1") = Me.txtFirstNameКонец подписки

Вернитесь к листу Excel, убедитесь, что режим «Дизайн» выключен, а затем введите созданное текстовое поле.

Нажмите кнопку команды, чтобы вернуть текст в Excel.

wave wave wave wave wave