- VBA TextBox — Примеры для создания TextBox в Excel VBA (шаблон Excel)
- Что такое VBA TextBox в Excel?
- Примеры Excel VBA TextBox
- Пример № 1 — Как вставить TextBox в VBA?
- Пример №2 — Установка значения в VBA TextBox
- Пример # 3 — Ограничить ввод TextBox, чтобы принимать только числовые значения
- То, что нужно запомнить
- Рекомендуемые статьи
- Объект TextBox (Outlook Forms Script)
- Замечания
- Советы по использованию текстовых полей
- Методы
- Свойства
- Поддержка и обратная связь
VBA TextBox — Примеры для создания TextBox в Excel VBA (шаблон Excel)
Что такое VBA TextBox в Excel?
VBA TextBox является одним из многих элементов управления из элементов управления UserForm в Excel. VBA TextBox может пригодиться, если вы хотите, чтобы пользователь вводил данные, такие как его имя, возраст, адрес, зарплата и т. Д. Используя элемент управления TextBox, вы можете позволить пользователям вводить такую информацию и сэкономить много времени, а также опечатки., VBA TextBox может состоять из статических или динамических данных.
UserForm сам по себе является очень полезным инструментом, который имеет различные параметры управления, такие как TextBox, MsgBox, InputBox и т. Д., Которые предоставляют более практичный способ получения данных от пользователя, чтобы вы могли функционально обрабатывать эти данные и находить из них некоторые полезные идеи.,
В этой статье вы получите практический опыт работы с Excel VBA TextBox.
Примеры Excel VBA TextBox
Ниже приведены различные примеры VBA TextBox в Excel.
Вы можете скачать этот шаблон Excel для VBA TextBox здесь — Шаблон Excel для VBA TextBox
Пример № 1 — Как вставить TextBox в VBA?
Ниже приведены шаги для вставки TextBox в Excel VBA.
Шаг 1: Откройте файл Excel и нажмите Alt + F11, чтобы перейти на панель VBA.
Шаг 2: Как мы уже обсуждали, TextBox — это опция, доступная в пользовательской форме. Поэтому нам нужно вставить UserForm в VBE. Перейдите в меню «Вставка» > нажмите «Пользовательская форма» .
Шаг 3: Как только вы вставляете пользовательскую форму в VBA, вы можете видеть параметр Toolbox, связанный с ним, и иметь различные параметры, связанные с UserForm.
Шаг 4: В этом наборе инструментов выберите TextBox .
Шаг 5: Перетащите этот TextBox на форму пользователя.
Шаг 6: Нажмите F4, чтобы увидеть свойства пользовательской формы (в качестве альтернативы вы можете сделать это, щелкнув правой кнопкой мыши на вставленной пользовательской форме). Эти свойства позволяют вам внести некоторые необходимые изменения, такие как изменение имени пользовательской формы, чтобы иметь возможность легко получить к нему доступ.
Некоторые другие основные изменения, которые вы можете сделать в панели свойств UserForm, такие как изменение шрифта, изменение размера и т. Д.
Шаг 7: Введите текст « Добро пожаловать в VBA TextBox! В TextBox под UserForm.
Вот как вы можете создать VBA TextBox.
Пример №2 — Установка значения в VBA TextBox
Давайте посмотрим, как мы можем установить значения для TextBox. Иногда бывает необходимо установить значения в противном случае, пользователь будет вводить все, что его интересует.
Шаг 1: Вставьте новую пользовательскую форму в VBE. Перейдите в меню « Вставка» > нажмите «Пользовательская форма».
Шаг 2: Из UserForm Tools выберите TextBox и перетащите его в UserForm.
Шаг 3: Вставьте CommandButton под UserForm так же, как вы добавили TextBox.
Шаг 4: Измените заголовок командной кнопки на « Отправить » в свойствах. Вы можете перейти к свойствам командной кнопки, щелкнув правой кнопкой мыши Command Button> Click Properties .
Шаг 5: Дважды щелкните по кнопке отправки или щелкните правой кнопкой мыши и выберите « Просмотреть код» .
Шаг 6: В коде вставьте строку нового кода в подпроцедуру, как показано ниже.
Код:
Этот выделенный код позволяет назначать значение справа, заключенное в двойные кавычки, в TextBox. Вы также можете использовать свойство TextBox.Text вместо TextBox.Values, чтобы установить значение для TextBox.
Шаг 7: Нажмите F5 или кнопку Run под VBE, чтобы запустить этот код, вы увидите пользовательскую форму с пустым TextBox. Как только вы нажмете кнопку отправки, там появится текст, назначенный для TextBox.
Пример # 3 — Ограничить ввод TextBox, чтобы принимать только числовые значения
Выполните следующие шаги:
Шаг 1: Вставьте новую пользовательскую форму в VBA и добавьте в нее TextBox.
Шаг 2: Измените имя TextBox в разделе «Свойства» на « My_Age ».
Шаг 3: Дважды щелкните TextBox или щелкните его правой кнопкой мыши и выберите View Code .
Вы сможете увидеть начальную подпроцедуру, как показано ниже:
Код:
Шаг 4: Теперь попробуйте добавить условие If, которое начинается с If Not.
Код:
Шаг 5: Попросите компилятор проверить, является ли значение TextBox «My_Age» числовым или не использует IsNumeric Keyword перед условием «Если не».
Код:
Шаг 6: Когда каждое условие IF запрашивает, добавьте ключевое слово Then для него.
Код:
В этом фрагменте кода вы просите компилятор проверить, является ли значение, введенное пользователем в TextBox, числовым или нет. Если это не цифра, то что делать? Следуйте следующему шагу.
Шаг 7: С помощью MsgBox добавьте комментарий типа «Извините! Разрешены только цифры. », Если значение в TextBox не является числовым.
Код:
Шаг 8: Теперь закройте этот оператор IF, используя ключевое слово End IF.
Код:
Шаг 9: Теперь запустите этот код, нажав кнопку F5 на клавиатуре или кнопку Run из VBE, и просмотрите результат. Вы получите TextBox, как показано ниже:
Теперь я пытаюсь ввести в него целочисленное значение и посмотреть, позволяет ли оно мне вводить то же самое или нет.
Бинго, это позволяет мне хранить целочисленное значение.
Теперь давайте попробуем добавить некоторое число с плавающей точкой (значение с десятичными точками) в это текстовое поле и посмотрим, позволяет ли оно нам вводить то же самое.
Давайте проверим, позволяет ли это текстовое поле хранить некоторые отрицательные значения под ним или нет. Я наберу некоторое отрицательное число и проверю.
Что ж! Что ж!! Ну, это, я стреляю в сообщение о том, что разрешены только цифры Это произошло потому, что этот код, изначально написанный с условием IF, не имеет обходного пути, что делать, если число не положительное. Более того, возраст не может быть отрицательным. Правильно? Поэтому я получаю предупреждающее сообщение, как вы можете видеть выше. Однако, если вы нажмете OK в окне сообщения и попытаетесь ввести номер, это позволит вам сделать это. Но я не буду рекомендовать нарушать правила там.
Наконец, давайте попробуем некоторую текстовую строку в поле и посмотрим, позволяет ли она хранить то же самое в текстовом поле или нет.
Как и ожидалось, как только я ввел первую строковую букву, система помешала мне сделать это, бросив сообщение. Это связано с тем, что мы упомянули в нашем коде условие о том, что если значение не является числовым, отправьте пользователю сообщение о том, что допускаются только числовые значения.
То, что нужно запомнить
- VBA TextBox — это специальная опция в пользовательской форме. Который предназначен для ввода данных от самого пользователя.
- Есть два способа установить значения для TextBox: с помощью TextBox.Text и с помощью TextBox.Value.
- Иногда необходимо ограничить ввод данных пользователем, чтобы мы получали правильный тип данных.
Рекомендуемые статьи
Это руководство по VBA TextBox. Здесь мы обсудим, как создать TextBox в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —
- Как использовать функцию VBA IsNumeric?
- Создание поля со списком в Excel
- Вставьте флажок в Excel
- Функция VBA UCASE в Excel
- Как закрыть UserForm в VBA?
Объект TextBox (Outlook Forms Script)
Отображает пользовательскую информацию или информацию из упорядоченного набора данных.
Замечания
Элемент управления TextBox (текстовое поле) обычно используется для отображения информации, добавленной пользователем. Он также может отображать набор данных, таких как таблица, запрос, лист или результат подсчета. Если Элемент TextBox привязан к источнику данных, изменение содержимого TextBox также изменяет значение привязанного источника данных.
Форматирование любой части текста TextBox повлияет на весь текст элемента управления. Например, если изменить шрифт или размер любого символа элемента управления, изменение затронет все символы элемента управления.
По умолчанию для TextBox используется свойство Value .
Советы по использованию текстовых полей
TextBox — это гибкий элемент управления, управляемый следующими свойствами: Text, MultiLine, WordWrap и AutoSize.
Text содержит текст, отображаемый в текстовом поле.
MultiLine определяет способ отображения текста элементом управления TextBox (в виде одной строки или множества строк). Символы новой строки определяют конец одной строки и начало другой. Если параметр MultiLine имеет значение False (значение по умолчанию), текст усекается, а не упаковывается в оболочку.
WordWrap позволяет TextBox переносить строки текста, которые не помещаются в TextBox. Значение по умолчанию — True.
Если вы не используете WordWrap, элемент TextBox начинает новую строку текста при обнаружении символа новой строки в тексте. Если WordWrap отключен, вы можете иметь текстовые строки, которые не помещаются полностью в TextBox. Элемент TextBox отображает части текста, которые помещаются в его ширину, и усекает части текста, которые не помещаются. WordWrap можно использовать лишь в случае, если MultiLine присвоено значение True.
AutoSize определяет, полностью ли отображается текст в TextBox. При использовании AutoSize вместе с TextBox размер последнего элемента увеличивается или уменьшается в зависимости от количества текста и размера шрифта. Значение по умолчанию — False.
AutoSize удобно применять в таких случаях:
Отображение заголовка из одной или нескольких строк.
Отображение содержимого TextBox длиною в одну строку.
Отображение содержимого TextBox, состоящего из нескольких строк только для чтения.
Избегайте применять AutoSize к пустому элементу TextBox, который использует свойства MultiLine и WordWrap. В таком случае при вводе текста в TextBox этот элемент автоматически принимает вид поля шириною в один символ, отображающего весь текст одной строкой.
Методы
Имя | Описание |
---|---|
Copy | Копирует содержимое объекта в буфер обмена. |
Cut | Удаляет выбранную информацию из объекта и переносит ее в буфер обмена. |
Paste | Передает содержимое буфера обмена объекту. |
Свойства
Имя | Описание |
---|---|
AutoSize | Возвращает или задает логическое значение, указывающее, будет ли объект автоматически изменять размер для отображения всего содержимого. Для чтения и записи. |
AutoTab | Возвращает или задает логическое значение, указывающее, происходит ли автоматическая вкладка, когда пользователь вводит максимально допустимое количество символов в TextBox. Для чтения и записи. |
AutoWordSelect | Возвращает или задает логическое значение, указывающее, является ли базовая единица, используемая для расширения выделенного фрагмента, словом или одним символом. Для чтения и записи. |
BackColor | Возвращает или задает значение Long , указывающее цвет фона объекта . Для чтения и записи. |
BackStyle | Возвращает или задает целое число , задающее стиль фона для объекта . Для чтения и записи. |
BorderColor | Возвращает или задает значение Long , указывающее цвет границы объекта. Для чтения и записи. |
BorderStyle | Возвращает или задает целое число , указывающее тип границы элемента управления. Для чтения и записи. |
CanPaste | Возвращает логическое значение, указывающее, содержит ли буфер обмена данные, поддерживаемые объектом. Только для чтения. |
CurLine | Возвращает или задает значение Long , представляющее текущую строку элемента управления. Для чтения и записи. |
CurTargetX | Возвращает значение Long , представляющее предпочтительную горизонтальную позицию точки вставки в многострочной области TextBox. Только для чтения. |
CurX | Возвращает или задает значение Long , представляющее текущее горизонтальное положение точки вставки в многострочной области TextBox. Для чтения и записи. |
DragBehavior | Возвращает или задает целое число , указывающее, включает ли система функцию перетаскивания для элемента управления . Для чтения и записи. |
Enabled | Возвращает или задает логическое значение, указывающее, может ли элемент управления получать фокус и реагировать на события, созданные пользователем. Для чтения и записи. |
EnterFieldBehavior | Возвращает или задает целое число , указывающее поведение выделения при вводе элемента TextBox. Для чтения и записи. |
EnterKeyBehavior | Возвращает или задает логическое значение, определяющее эффект нажатия клавиши ВВОД в TextBox. Для чтения и записи. |
ForeColor | Возвращает или задает значение Long , указывающее цвет переднего плана объекта. Для чтения и записи. |
HideSelection | Возвращает или задает логическое значение, указывающее, остается ли выделенный текст выделенным, если элемент управления не имеет фокуса. Для чтения и записи. |
IMEMode | Возвращает или задает целое число , указывающее режим времени выполнения по умолчанию редактора метода ввода (IME) для элемента управления. Для чтения и записи. |
IntegralHeight | Возвращает или задает логическое значение, указывающее, отображает ли элемент TextBox полные строки текста или частичные строки. Для чтения и записи. |
LineCount | Возвращает значение Long , указывающее количество текстовых строк в элементе TextBox. Только для чтения. |
Locked | Возвращает или задает логическое значение, указывающее, можно ли изменять элемент управления. Для чтения и записи. |
MaxLength | Возвращает или задает значение Long , указывающее максимальное число символов, которое пользователь может ввести в TextBox. Для чтения и записи. |
MouseIcon | Возвращает значение String , представляющее полное имя пути настраиваемого значка, назначаемого элементу управления. Только для чтения. |
MousePointer | Возвращает или задает целое число , указывающее тип указателя, отображаемого при наведении указателя мыши на определенный объект. Для чтения и записи. |
MultiLine | Возвращает или задает логическое значение, указывающее, может ли элемент управления принимать и отображать несколько строк текста. Для чтения и записи. |
PasswordChar | Возвращает или задает значение String , указывающее замещающий символ, который будет отображаться вместо символов, фактически введенных в TextBox. Для чтения и записи. |
ScrollBars | Возвращает или задает целое число , указывающее, имеет ли элемент управления вертикальные полосы прокрутки, горизонтальные полосы прокрутки или и то, и другое. Для чтения и записи. |
SelectionMargin | Возвращает или задает логическое значение, указывающее, может ли пользователь выделить строку текста, щелкнув область слева от текста. Для чтения и записи. |
SelLength | Возвращает или задает значение Long , представляющее количество символов, выделенных в элементе TextBox. Для чтения и записи. |
SelStart | Возвращает или задает значение Long , представляющее начальную точку выделенного текста, или точку вставки, если текст не выделен. Для чтения и записи. |
SelText | Возвращает или задает значение String , представляющее выделенный текст элемента управления. Для чтения и записи. |
SpecialEffect | Возвращает или задает целое число , указывающее внешний вид объекта. Для чтения и записи. |
TabKeyBehavior | Возвращает или задает логическое значение, указывающее, разрешены ли вкладки в области редактирования. Для чтения и записи. |
Текст | Возвращает или задает значение String , указывающее текст в элементе управления . Для чтения и записи. |
TextAlign | Возвращает или задает целое число , указывающее способ выравнивания текста в элементе управления . Для чтения и записи. |
TextLength | Возвращает значение Long , представляющее длину текста в количестве символов в области редактирования TextBox. Только для чтения. |
Значение | Возвращает или задает значение Variant , указывающее текст в области редактирования. Для чтения и записи. |
WordWrap | Возвращает или задает логическое значение, указывающее, будет ли содержимое элемента управления автоматически переноситься в конце строки, а элемент управления разворачивается в соответствии с текстом. Для чтения и записи. |
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.