Все свойства textbox vba excel

Элемент управления пользовательской формы TextBox в VBA Excel. Использование текстового поля для ввода и вывода информации, основные свойства, примеры. Привязка текстового поля к ячейке.

UserForm.TextBox – это элемент управления пользовательской формы, предназначенный для ввода, редактирования и вывода информации в текстовом формате.

Текстовое поле на пользовательской форме

Текстовое поле незаменимо, когда необходимо заполнить пользовательскую форму новой информацией. Например, это может быть ФИО нового сотрудника и его паспортные данные, сумма выручки за день, новый электронный адрес и многое-многое другое.

Если с помощью текстового поля требуется вводить заранее известную информацию, элементы которой можно сгруппировать в список, то в этом случае удобнее вместо элемента управления TextBox использовать ListBox или ComboBox.

Вводить информацию в TextBox на открытой форме можно не только с помощью клавиатуры, но и вставкой текста из буфера обмена. Когда текстовое поле применяется для ввода пароля, есть возможность отобразить все его знаки замещающим символом, например, звездочкой.

Иногда, если на пользовательской форме используется только одно текстовое поле и кнопка «OK» (или кнопки «OK» и «Отмена»), для ввода информации такую форму можно заменить функцией InputBox, а для вывода информации, когда не требуется редактирование отображаемого текста, – функцией MsgBox.

Свойства текстового поля

Свойство Описание
AutoSize* Автоподбор размера текстового поля. True – размер автоматически подстраивается под длину размещаемой строки. False – размер элемента управления определяется свойствами Width и Height.
AutoTab Включение автоматической табуляции – передачи фокуса следующему элементу управления при достижении максимального числа символов при значениях свойства MaxLenght > 0. True – автоматическая табуляция включена, False – выключена.
ControlSource Ссылка на источник данных для поля TextBox.
ControlTipText Текст всплывающей подсказки при наведении курсора на TextBox.
Enabled Возможность ввода, редактирования, копирования, вставки, удаления текста. True – все перечисленные опции включены, False – выключены (цвет текста в поле становится серым).
Font Шрифт, начертание и размер текста в поле.
Height Высота текстового поля.
Left Расстояние от левого края внутренней границы пользовательской формы до левого края текстового поля.
Locked Запрет ввода, редактирования, удаления текста. True – перечисленные опции запрещены (разрешено выделение и копирование текста), False – перечисленные опции разрешены.
MaxLenght Максимальная длина строки. По умолчанию – 0, что означает – ограничений нет.
Multiline Устанавливает многострочный (True) или однострочный (False) режим ввода-вывода текста.
PasswordChar Задает символ, который будет отображаться при вводе знаков пароля.
TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой свойством AutoTab или нажатием клавиш «Tab», «Enter». Отсчет начинается с 0.
Text** Текстовое содержимое (значение) поля (=Value).
TextAlign Выравнивание текста: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края текстового поля.
Value** Текстовое содержимое (значение) поля (=Text).
Visible Видимость текстового поля. True – TextBox отображается на пользовательской форме, False – TextBox скрыт.
Width Ширина текстового поля.
WordWrap Актуально при Multiline = True. Переход на новую строку при достижении границы текстового поля. True – переход включен, False – переход выключен.

* При использовании свойства AutoSize в значении True следует учитывать, что автоматическое изменение размеров поля при вводе текста может нарушить дизайн пользовательской формы.
** Text и Value — это два обозначения одного и того же свойства. Если в окне Properties элемента управления TextBox в поле свойства Text начать ввод строки, в поле Value ввод будет дублироваться. И наоборот, при вводе текста в поле свойства Value, дублирование произойдет в поле Text.

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

Свойства BackColor, BackStyle, BorderColor, BorderStyle отвечают за внешнее оформление текстового поля и его границ. Попробуйте выбирать доступные значения этих свойств в окне Properties, наблюдая за изменениями внешнего вида элемента управления TextBox на проекте пользовательской формы.

Привязка текстового поля к ячейке

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

1. В окне Properties элемента управления TextBox в поле свойства ControlSource необходимо указать адрес ячейки:

Окно Properties-TextBox

2. Присвоить свойству ControlSource адрес ячейки в коде VBA Excel:

UserForm1.TextBox1.ControlSource = «C5»

Теперь ячейка C5 активного листа будет привязана к элементу управления TextBox1. При открытии формы текстовое поле будет заполнено значением ячейки C5.

Чтобы наглядно ознакомиться с взаимозависимостью значения ячейки C5 и содержимого текстового поля, разместите на пользовательской форме еще какой-нибудь элемент управления и откройте ее в немодальном* окне:

Sub Test()

UserForm1.TextBox1.ControlSource = «C5»

UserForm1.Show 0

End Sub

Измените значение ячейки C5 и нажмите клавишу «Tab» или «Enter» – изменения будут продублированы в текстовом поле на форме. Измените содержимое поля TextBox1, нажмите клавишу «Tab» или «Enter», передав фокус другому элементу управления, – изменения продублируются в ячейке C5.

Чтобы привязать текстовое поле к ячейке неактивного листа, необходимо в адресе указать имя листа по ярлыку с разделителем «!»:

UserForm1.TextBox1.ControlSource = «Лист2!A3»

Если имя листа содержит пробел, заключите его в одинарные кавычки:

UserForm1.TextBox1.ControlSource = «‘Мой лист’!B6»

Точно также адрес ячейки конкретного листа можно указать непосредственно в окне Properties элемента управления TextBox в поле свойства ControlSource (без парных кавычек).

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

Примеры использования TextBox

Пример 1
Обмен содержимым между текстовым полем, переменной и ячейкой на рабочем листе:

‘Присвоение текстовому полю значения

‘ячейки A2 и переменной a1

UserForm1.TextBox1.Text = Range(«A2»)

UserForm1.TextBox1.Text = a1

‘Присвоение ячейке B3 и переменной a2

‘значения текстового поля

Cells(3, 2) = UserForm1.TextBox1.Text

a2 = UserForm1.TextBox1.Value

‘Свойства Text и Value элемента

‘управления TextBox равнозначны

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

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

Создаем новую пользовательскую форму с именем UserForm2. Если у вас другое имя формы, это не имеет значения, так как обращаться к ней будем с помощью ключевого слова «Me». Открываем модуль созданной формы и вставляем в него следующий код VBA Excel:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Private Sub UserForm_Initialize()

Dim myTextBox As Control

‘Создаем новый TextBox и присваиваем его переменной

Set myTextBox = Me.Controls.Add(«Forms.TextBox.1»)

‘Задаем размеры и заголовок пользовательской формы

With Me

  .Height = 100

  .Width = 220

  .Caption = «Форма №2»

End With

‘Присваиваем значения свойствам текстового поля

With myTextBox

  .Width = 100

  .Height = 20

  ‘Left и Top рассчитаны для Excel 2016*

  .Left = 60 5

  .Top = 40 15

  ‘Добавляем всплывающую подсказку

  .ControlTipText = «Введите дату подписания договора»

  ‘Вставляем в поле текущую дату

  .Text = Format(Now, «DD.MM.YYYY»)

  ‘Выравниваем текст по центру

  .TextAlign = 2

End With

End Sub

В результате выполнения кода откроется следующая форма с всплывающей подсказкой при наведении на TextBox курсора:

TextBox с всплывающей подсказкой

* Значения свойств Left и Top рассчитаны для Excel 2016. Вычитаемые числа зависят от толщины границ пользовательской формы, которые в других версиях Excel могут отличаться.

Время создания: 16.03.2019 23:43

Текстовые метки: Excel, TextBox, VBA, текстбокс

Раздел: !Закладки — VBA — Форма

Запись: xintrea/mytetra_db_adgaver_new/master/base/151440704601ozzomq3n/text.html на raw.githubusercontent.com

Элемент управления TextBox

TextBox используется для ввода/вывода текста, который в последующем используется в программе, или для вывода результатов расчетов программы. Текст, введенный в поле, обычно в программе преобразуется либо в числа, либо в формулы.

рис . 1.1 Элемент управления Textbox на панели ToolBox

рис. 1.2 Элемент управления Textbox на форме

Основные свойства элемента упраления TextBox: 

Свойство

Назначение

AutoSize

Определяет,   изменяет ли объект автоматически размеры, чтобы показать   его все содержание.Допустимые   значения:True —   Автоматически изменяет размеры контроля, чтобы показать   его все содержание.False —   Держит размер контроля постоянным.

AutoTab

Определяет,   происходит ли автоматическая табуляция, когда пользователь вводит   максимальное допустимое число символовДопустимые   значения:True —   табуляция происходит.False —   табуляция не происходит (значение по умолчанию).

AutoWordSelect

Определяет,   что являются (слово или знак) основной единицей, используемой,   чтобы определить выбор.Допустимые   значения:True —   Использует слово как основную единицу (значение по умолчанию).False —   Использует знак как основную единицу.

BackColor

Определяет   цвет фона объекта.Параметры:Вы можете   использовать любое целое число, которое представляет правильный цвет.   Вы можете также определить цвет при использовании функции   RGB с красными, зелеными, и синими цветными компонентами. Значение   каждого цветного компонента — целое число, которое колеблется   от нуля до 255. Например, Вы можете определить цвет, синего   как целочисленное значение 4966415 или как красные, зеленые,   и синие цветные компоненты 15, 200, 75.Комментарии:   Вы можете только видеть цвет фона объекта, если свойство BackStyle   установлено в fmBackStyleOpaque.

BackStyle

Устанавливает фоновый   стиль для объекта.Параметры   настройки для fmBackStyle:

  • fmBackStyleTransparent=        0 — Фон прозрачен
  • fmBackStyleOpaque =1 —        Фон непрозрачен (значение по умолчанию).

Комментарии:   Свойство BackStyle определяет, прозрачно ли управление.   Если BackStyle — fmBackStyleOpaque, управление не прозрачно,   и Вы ничего не можете видеть позади управления на форме.   Если BackStyle — fmBackStyleTransparent, Вы можете видеть через   управление и смотреть на что-нибудь  на форме,   расположенной позади управления.

BorderColor

Определяет   цвет границы объектаПараметры:   Вы можете использовать любое целое число, которое представляет   правильный цвет. Вы можете также определить цвет при использовании   функции RGB с красными, зелеными, и синими цветными компонентами.   Значение каждого цветного компонента — целое число, которое колеблется   от нуля до 255. Комментарии: Чтобы использовать свойство   BorderColor, свойство BorderStyle должно быть установлено в значение   кроме fmBorderStyleNone. BorderStyle использует BorderColor, чтобы определить   выделяющие цвета. 

BorderStyle

Определяет   тип границы, используемой управлением или формой.fmBorderStyleNone=0 —   У управления нет никакой видимой линии обрамленияfmBorderStyleSingle   = 1 — У управления есть граница одиночной линии.Значение   по умолчанию для ComboBox, Кадра, Метки, Окна списка или   TextBox 0 (Ни один). Значение по умолчанию для Изображения 1   (Сингл).

CanPaste

Определяет,   содержит ли Буфер обмена данные, которые поддерживает объект.Допустимые   значения:True — Объект   под курсором мыши может получить информацию, вставленную от Буфера   обмена (значение по умолчанию).False —   Объект под курсором мыши не может получить информацию, вставленную   от Буфера обмена.

Text

Возвращает   текст, содержащийся в поле 

Visible

Допустимые   значения:True (поле   отображается во время выполнения программы)False (в   противном случае) 

Enabled

Допустимые   значения:True   (пользователь непосредственно может вносить изменения в содержание   поля)False (в   противном случае) 

Multiline

Допустимые   значения:True   (устанавливается многострочный режим ввода текста)False   (однострочный режим) 

WordWrap

Допустимые   значения:True   (устанавливается режим автоматического переноса)False (в   противном случае) 

AutoSize

Допустимые   значения:True   (устанавливается режим автоматического изменения размера поля так, чтобы весь   вводимый текст помещался в нем)False   (устанавливаетя фиксированный размер поля) 

ScrollBars

Устанавливает   режим отображения в поле полос прокрутки. Допустимые значения:

  • fmScrollBarsNone (не выводить        полос прокрутки)
  • fmScrollBarsHorizontal        (выводить горизонтальную полосу прокрутки)
  • fmScrollBarsVertical        (выводить вертикальную полосу прокрутки)
  • fmScrollBarsBoth (выводить        горизонтальную и вертикальную полосы прокрутки)

SelLenghtSelStartSelText

Эти свойства   характеризуют выделенный в поле фрагмент текста (длина, начало   и сам фрагмент текста соответственно) 

MaxLenght

Устанавливает   максимальное допустимое количество вводимых в поле символов.   Если это свойство равно 0, то нет ограничений   на вводимое количество символов. 

PasswordChar

Устанавливает   символ,отображаемый при вводе пароля. Если это свойство   определено, то вместо вводимых символов в поле будет отображаться   установленный символ 

 Ввод в TextBox только определенных символов:

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

Function OnlyMySymbols (Symbol As Integer, Pattern as string) as Integer
If InStr (Pattern & Chr (8), Chr (Symbol)) > 0 Then
OnlyMySymbols = Symbol
Else
OnlyMySymbols = 0
End If
End Function

Применяется код так, если в поле Textbox1 необходимо разрешить введение только чисел:

Private Sub Textbox1_KeyPress (KeyAscii As Integer)
KeyAscii = OnlyMySymbols (KeyAscii, “0123456789.»)
End Sub

Быстрое заполнение полей TextBox:

Sub All_TextBoxes()

    Dim li As Long

    For li = 1 To 10

        UserForm1.Controls(“TextBox” & li).Value = li

    Next li

End Sub

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

В примере TextBox с именами от “TextBox1″ до “TextBox10″ будут подставлены значения номеров самих TextBox.

Достоинства данного метода:  В зависимости от имени можно проделывать различные действия: стирать значения, менять свойства элементов и т.д.

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

Так же в этом разделе:

  • Элементы управления VBA: название, значок, описание
  • Элементы управления VBA, добавление элементов управления на форму
  • TabStrip
  • Multipage
  • Image
  • RefEdit
  • Label
  • TextBox
  • Combobox
  • ListBox
  • TextBox, Frame, CheckBox
  • CheckBox
  • OptionButton
  • Frame
  • CommandButton
  • ToggleButton
  • ScrollBar
  • SpinButton
  • Использование классов для элементов управления на форме
  • Проверка ввода числа в текстовое поле на форме VBA
  • ‘==================== Проверка ввода
  • Как убрать заголовок у UserForm VBA
  • Как быстро заполнить/очистить элементы на форме(TextBox-ы, ComboBox-ы)
  • VBA/Listbox прокрутка колесиком мыши
  • Вертикальный скроллинг по ListBox
  • Высота строки по содержимому в ListView vba
  • Общие сведения о формах, элементах управления форм и элементах ActiveX на листе
  • Создание массива контролов в VBA, Управление массивом контролов по событию
  • программное создание контролов, MS Access
  • Обращение к контролам с помощью объекта «Controls»
  • Календарь на форме
  • Визуализация работы макроса при помощи прогресс-бара
  • Отобразить процесс выполнения
  • Позиционирование формы возле ячейки Excel 2007+ без Win API (VBA)
  • Определение разрешения экрана

MyTetra Share v.0.58

Яндекс индекс цитирования

Excel VBA Tutorial 5 - Text Box Properties, Text Box Currency Format and Date Format

In Excel VBA tutorial 4 we learned how to add different tools to the user form. In today’s tutorials, we will learn about the properties of text boxes. We will learn about different formats of text boxes.

About User Form Properties In Tutorial 3, we saw some important points. In the same way every tool has its properties. Some tabs are more or less according to the tool.

Excel VBA Tutorial 5 - Text Box Properties, Text Box Currency Format and Date Format

1. Name – Any name can be given to the text box.

2. Text box Size – Option of drag and drop with the mouse is better to increase the size or more.

3. Control Tip Text – When the application is run, you have to type the text in the control tip text to show a text tip as soon as the mouse cursor is moved over the text box.

Excel VBA Tutorial 5 - Text Box Properties, Text Box Currency Format and Date Format

4. Enable – Many times the project has to show the text in the text box, but to ban it from editing, Select False Option in the option of enable, no user can edit the text of the text box.

5. Visible – To hide the text box, the text box will be hidden as soon as it is false in front of the Visible option.

6. Text – To show any text by default in the text box, you can type the words type in front of the text option.

7. With the option of Text Align, Back Color, Border Color, you can change the design of the text box.

8. Password Character – Type one of the special characters in the password char to show the text * or # or @ of the text box as such.

For example – When typing a text box password, all we need to do is to show * star *, type password Char  *  .

Excel VBA Tutorial 5 - Text Box Properties, Text Box Currency Format and Date Format

How to change the text box format?

1. Text box currency format

To change the text box Value to currency format, double click on the text box or right click to view code.

Private Sub TextBox1_Change() 

End Sub

The text box name and change will appear. That means, while making any change in the text box, we can give the command in it. You can see multiple options in the drop down option by clicking above the change option above. We will be able to make any changes according to the behavior of the text box. We have to type the code of the format in the line below Private Sub TextBox1_Change ().

Excel VBA Tutorial 5 - Text Box Properties, Text Box Currency Format and Date Format

Private Sub TextBox1_Change()

Me.TextBox1.Text = Format(Me.TextBox1, “####,##”)

End Sub

Now run the project by pressing F5. And type any number in the text box. The value will be converted to currency format only while typing.

If you need a decimal number in the currency format, then click on the text Behavior After Update

Me.TextBox1.Text = Format (Me.TextBox1, “####, ##. 00”) Apply this code.

Private Sub TextBox1_AfterUpdate()

Me.TextBox1.Text = Format(Me.TextBox1, “####,##”)

End Sub

2. Text Box Date Format –

To convert a value to a date format, double-click on the text box and select Text Behavior After Update. And apply the format code below.


Private Sub TextBox2_AfterUpdate ()

Me.TextBox2.Text = Format (Me.TextBox2, “dd / mm / yyyy”)

End Sub

Excel VBA Tutorial 5 - Text Box Properties, Text Box Currency Format and Date Format

You can use dashes or slashes in the date format or you can use a different format.

dd-mm-yyyy

dd/mmm/yyyy

mmm/dd/yyyy

Similarly, you can apply any format in the text box.

Me. TextBox .Text = Format (TextBox, “Format”)

Давайте рассмотрим класс TextBox языка VBA, который позволяет размещать на форме текстовое поле. Класс vba TextBox позволяет создавать как многострочные, так и однострочные области для ввода текста, хот в последнем случае удобней воспользоваться функцией MsgBox. Также можно добавлять полосы прокрутки и определять максимальную длину вводимых символом. TextBox может использоваться и как компонент для ввода пароля.

Давайте для начала рассмотрим основные свойства класса TextBox и его базовое событие, а потом напишем пример.

События класса TextBox VBA языка

Value или  Text – текст, который введен в текстовое поле TextBox

Visible – позволяет спрятать (значение false) или снова отобразить (значение true) элемент.

MultiLine – данное свойство позволяет задать, будет ли текстовое поле однострочным (false), или многострочным (true).

WordWrap – свойство актуально использовать, если MultiLine содержит значение true, в таком случае, если WordWrap установлено в true, то произойдет автоматический перенос текста на новую строку, когда будет достигнута граница текстового поля TextBox.

ScrollBars – позволяет указать, будут или отображаться полосы прокрутки. Свойство может принимать следующие значения:

  • 0 – fmScrollBarsNone (полосы прокрутки отсутствуют)
  • 1– fmScrollBarsHorizontal (горизонтальная полоса прокрутки)
  • 2 – fmScrollBarsVertical (вертикальная полоса прокрутки)
  • 3 – fmScrollBarsBoth (горизонтальная и вертикальная прокрутки)

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

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

Как и у других элементов управления, у класса TextBox есть события, основным событием для TextBox является Change – оно возникает каждый раз, когда в текстовое поле вводится символ. Возможно вам приходилось видеть такую картинку: при вводе проверочного кода, пока его длинна не достигнет заданной (например, 12 символов), кнопка “Проверить” не будет доступной. Тут тоже можно такое реализовать.

Форма vba с элементами TextBox и Label

Хорошо, теперь настало время практики. Я не буду снова вникать во все мелочи, как в прошлых статьях, поэтому скажу прямо: добавьте в проект новый модуль и новую форму. Выберите из окна ToolBox элемент управления Надпись (Label), добавьте ее на форму, пусть будет вверху, под ней поставьте текстовое поле (TextBox), а в самом низу – пусть будет кнопка (CommandButton с надписью “Проверить”). Хорошо, как и прежде, в редакторе кода для модуля прописываем процедуру:

Sub Module3()
    UserForm3.Show
End Sub

Учтите, что имя вашего модуля и формы могут отличаться.

Теперь нам нужно написать программный код на языке VBA, который будет делать следующее:

В текстовое поле будет вводиться текст, длина текста не больше 12 символов, пока длина будет меньше 12 символов, кнопка “Проверить” будет недоступна. Как только мы достигаем предела, кнопка становится активной, при нажатии на нее, содержимое текстового поля TextBox должно отобразиться в поле Label (Надпись).

И так, давайте посмотрим на процедуры, которые я прописал в редакторе кода для формы:

Private Sub bCheck_Click()
    Label1.Caption = TextBox1.Text
End Sub

Тут идет обработка одиночного щелчка по кнопке, при нажатии на кнопку, свойству Caption объекта Label1 (Надпись) будет присвоено содержимое текстового поля TextBox1 (свойство Text).

Private Sub TextBox1_Change()
    Dim LenText As Byte
    LenText = Len(TextBox1.Text)
    If LenText = 12 Then
        bCheck.Enabled = True
    Else
        bCheck.Enabled = False
    End If
End Sub

Тут происходит обработка события Change для текстового поля объекта TextBox1 класса vba TextBox. Переменная LenText будет хранить длину вводимого текста, при каждом вводе данных будет происходить проверка длины, если она ровна 12 – то произойдет активация кнопки, иначе 0 кнопка будет неактивна.

Private Sub UserForm_Activate()
    Label1.Caption = "Введите любой текст"
    Label1.FontSize = 15
    Label1.ForeColor = &H0
    Label1.TextAlign = fmTextAlignCenter
    Label1.WordWrap = True
    TextBox1.MultiLine = False
    TextBox1.MaxLength = 12
    TextBox1.FontSize = 15
    bCheck.Enabled = False
End Sub

TextBox языка VBA - процедуры формы

В этой процедуре происходит настройка начальных значений, некоторые из них можно задать и в окне Свойств, но я решил для наглядности прописать все в программном коде. Тут нет ничего страшно, как только форма загрузится в память, кнопка “Проверить” будет неактивной, размер шрифта для текстового поля и надписи установлен в 20, также мы установили максимальную длину текста для класса TextBox VBA языка и его однострочность.

Excel VBA TextBox

A TextBox is simply a box used to get input from a user. Text boxes are a part of UserForms. For example, in the Developer tab in any Excel worksheet, if we want to make text boxes in a UserForm, we can select the textbox option from user form controls in VBA, or in the worksheet, we can select it from the Design tab.

VBA TextBox is one of the many controls of the UserForm. By displaying the text box on the UserForm, we can ask them to enter the data into the text box. Furthermore, it can store the data entered by the user on the worksheet with simple codes.

Userforms are very attractive in VBA codingVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more. It helps us immensely, especially when we need input from the users. With UserForms, we have many controls. For example, to get the input value from the users, “Text Box” is the ideal option in a UserForm. By putting a text box on the UserForm, we can tell the user to enter the required value in the text box we display. If you have no idea about VBA text boxes, this article will take a tour of VBA text boxes.

Table of contents
  • Excel VBA TextBox
    • How to Insert TextBox in VBA UserForm?
      • TextBox Properties
    • Example of using TextBox in Userform
    • Recommended Articles

VBA TextBox

You are free to use this image on your website, templates, etc, Please provide us with an attribution linkArticle Link to be Hyperlinked
For eg:
Source: VBA TextBox (wallstreetmojo.com)

How to Insert TextBox in VBA UserForm?

You can download this VBA Text Box Template here – VBA Text Box Template

To insert a text box first, we need to insert a UserForm. To insert the UserForm, go to Insert > UserForm.

Insert Userform

As soon as you click on UserForm, we will use UserForm just like another module.

Userform controls

Click on UserForm to see the controls of the UserForm.

VBA Text Box Userform 1-1

From this “Controls” toolbox, select “TextBox” and drag on the UserForm.

VBA Text Box control

With this, we can see many properties associated with this text box.

TextBox Properties

Press the F4 key to see the properties of the TextBox.

TBox Properties

As we can see, the text box has a name, color, and border like this many. Now, give a proper name to refer to this text box while coding easily.

Change Name Property

Example of using TextBox in Userform

We will conduct one of the projects with VBA textText is a worksheet function in excel but it can also be used in VBA while using the range property. It is similar to the worksheet function and it takes the same number of arguments. These arguments are the values which needs to be converted.read more. We will create a data entry user formThe form in Excel simplifies data entry by allowing us to view, add, edit, and delete one record in a horizontal orientation. It is a hidden feature that isn’t accessible through the ribbon tools. This functionality must be added using the quick access toolbar option under the File tab.read more to store the details of the employees.

Step 1: On the UserForm, draw the label.

VBA TextBox step 1

Step 2: Change the default text of the label to “Employee Name.”

VBA TextBox step 2

Step 3:  In front of the label, draw a text box.

VBA TextBox step 3

Step 4: Give a proper name to the text box as “EmpNameTextBox.”

VBA TextBox step 4

Step 5: Draw one more label below the first label and enter the text as “Employee ID.”

VBA TextBox step 5

Step 6: In front of the second label, draw one more text box and name it “EmpIDTextBox.”

VBA TextBox step 6

Step 7: Draw one more label and enter the text as “Salary.”

VBA TextBox step 7

Step 8: Draw one more text box in front of the “Salary” label and name it “SalaryTextBox.”

VBA TextBox step 8

Step 9: Insert the “Command Button” from the ToolBox.

VBA TextBox step 9

Step 10: Change the text of the command button to “Submit.”

VBA TextBox step 10

We have completed the UserForm design part. Next, we need to write the code to store the data entered in this UserForm. As of now, run the UserForm by pressing the F5 key. We should see a UserForm like this.

VBA TextBox step 11

Step 11: Change the caption of the UserForm in the “Properties” window.

VBA TextBox step 11

Step 12: Now, double-click on the “Submit” command button. As soon as you double-click, you will see this auto-sub procedure like the one below.

VBA Text Box step 12

What should happen when you click on the “Submit” button? First, we need to mention the tasks in the VBA code. In this project, we aim to store the data entered in the text box as soon as we click the “Submit” button.

For this, first, create a template like this in the worksheet named “Employees Sheet.”

VBA Text Box step 12.1

Step 13: Now, come back to the Visual Basic Editor. Inside the button, click subroutine in VBASUB in VBA is a procedure which contains all the code which automatically gives the statement of end sub and the middle portion is used for coding. Sub statement can be both public and private and the name of the subprocedure is mandatory in VBA.read more first to determine the last used row by using the below code.

Code:

Private Sub CommandButton1_Click()

   Dim LR As Long

   LR = Worksheets("Employee Sheet").cell(Rows.Count, 1).End(xlUp).Row + 1

End Sub

VBA Text Box step 13

Step 14: First, we will store “Employee Name” in the first column. So for this, we need to access the text box named “EmpNameTextBox.”

Code:

Private Sub CommandButton1_Click()

   Dim LR As Long

   LR = Worksheets("Employee Sheet").cell(Rows.Count, 1).End(xlUp).Row + 1

   Ramge("A" & LR).Value = EmpNameTextBox.Value

End Sub

VBA Text Box step 14

Step 15: We need to store the “Employee ID” in the second column. So, we may obtain this by accessing the text box “EmpIDTextBox.”

Code:

Private Sub CommandButton1_Click()

   Dim LR As Long

   LR = Worksheets("Employee Sheet").cell(Rows.Count, 1).End(xlUp).Row + 1

   Ramge("A" & LR).Value = EmpNameTextBox.Value

   Ramge("B" & LR).Value = EmpIDTextBox.Value

End Sub

VBA Text Box step 15

Step 16: At last, we need to store the salary part. For this, we need to access a text box named “SalaryTextBox.”

Code:

Private Sub CommandButton1_Click()

   Dim LR As Long

   LR = Worksheets("Employee Sheet").cell(Rows.Count, 1).End(xlUp).Row + 1

   Ramge("A" & LR).Value = EmpNameTextBox.Value

   Ramge("B" & LR).Value = EmpIDTextBox.Value

   Range("C" & LR).Value = SalaryTextBox.Value

End Sub

VBA Text Box step 16

We have completed the coding part as well. Now, run the code using the F5 key. We should see a UserForm like the one below.

Userform Design

As of now, all the boxes are empty.

Fill in the details first.

Enter Details

Now, click on the “Submit” button. It will store the data on the worksheet.

Output

Like this, you can keep entering the data and press the “Submit” button. It is a simple data entry UserForm with a text box.

Recommended Articles

This article has been a guide to VBA TextBox. Here, we learn how to insert and use textbox control in UserForm through Excel VBA, practical examples, and a downloadable template. Below you can find some useful Excel VBA articles: –

  • VBA Close UserForm
  • Excel VBA ArrayList
  • Insert Row using VBA
  • Using Not Equal in VBA

Понравилась статья? Поделить с друзьями:
  • Все режимы редактора word
  • Все режимы работы excel
  • Все редакторы формул в word
  • Все регионы россии список excel
  • Все расширения файлов excel