Vba excel textbox очистить поле

Обновлено: 03.07.2024

Я относительно новичок в VBA, и я работаю над небольшой базой данных для своего работодателя. Я пытаюсь создать текстовое поле, которое при нажатии удаляет содержимое, которое я вложил в него. Например, у меня есть текстовое поле, в котором говорится "первым", чтобы они ввели имя первого члена. Когда они нажимают на нее, я хочу, чтобы мой текст исчез, чтобы они могли ввести то, что они хотят. (Дело в том, что он выполняется только один раз, легко разрешается с помощью оператора if). Я рассмотрел следующий вопрос, но ни один ответ не работал для меня;

Следующий код ничего не сделал

И следующий код дает мне ошибку компиляции "Ожидаемый, конец оператора" в "Ручках";

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

Это очистит текстовое поле на фокусе, если оно еще не сосредоточено:

Он не будет очищать текстовое поле при каждом нажатии. Это помогает?

Предполагая, что имя для вашего текстового поля является "Text1" Следующее событие будет делать то, что вы ищете:

Я всегда ставил меня. перед объектом для ссылки на форму.

Я не понял, было ли имя вашего текстового поля "TextBox1" или "txtNewNameHere" из приведенных выше примеров кода, поэтому я просто использовал общий текст "Text1" в приведенном выше коде.

Если вы не знаете, что имя вашего текстового поля принадлежит вам прямо, щелкните текстовое поле и выберите "свойства",

Обновление. Предположим, что текстовое поле находится в объекте формы.

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

Метод ниже работает только для неограниченных элементов управления:

Я сделал для создания функции, которая проходит через все элементы управления, проверяет, ограничены ли они, и, если не ограничены, атрибуты значения по умолчанию:

ЗАМЕЧАНИЯ ПО ФУНКЦИИ НИЖЕ: 1- Я думаю, что "DefaultValue" лучше, чем "", но это тоже сработало бы. 2- Требуется "Выбрать регистр", иначе свойство .ControlSource не найдено. 3- При необходимости вы можете проверить границы элемента управления в каждом типе, у меня были только текстовые поля с границей. 4- "Me.Refresh" устанавливает для ограниченных элементов управления значение по умолчанию, если граница связана с элементами управления в той же форме.

Итак, в коде события click я просто вызвал функцию ClearControls следующим образом:

Это также позволяет повторно использовать функцию в других элементах управления/событиях.

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

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

Если с помощью текстового поля требуется вводить заранее известную информацию, элементы которой можно сгруппировать в список, то в этом случае удобнее вместо элемента управления 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 необходимо указать адрес ячейки:

Обычно для очистки старого содержимого текстового поля (элемент управления ActiveX) вы должны войти в текстовое поле, выбрать все содержимое и затем нажать клавишу Backspace или Delete. Как быстро очистить все содержимое текстового поля? Эта статья покажет вам метод VBA для быстрой очистки содержимого текстового поля, просто дважды щелкнув по нему.

Очистить содержимое текстового поля при нажатии с кодом VBA

Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!

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

1. Если текстовое поле уже существует на листе, включите режим «Дизайн», нажав разработчик > Режим проектирования. Смотрите скриншот:


Или вы также можете вставить текстовое поле, нажав разработчик > Вставить > Текстовое поле (элемент управления ActiveX). Смотрите скриншот:


2. Щелкните текстовое поле правой кнопкой мыши и выберите Просмотреть код из контекстного меню. Смотрите скриншот:


3. В дебюте Microsoft Visual Basic для приложений В окне кода замените исходный код VBA в окне кода приведенным ниже кодом VBA.

Код VBA: очистить содержимое текстового поля при двойном щелчке по нему

Внимание: В коде TextBox1 - это имя текстового поля, из которого вы очищаете содержимое. Пожалуйста, измените его на свой собственный.

4. нажмите другой + Q ключи для выхода из Microsoft Visual Basic для приложений окно.

5. Выключите режим дизайна.

С этого момента при двойном щелчке по текстовому полю его содержимое будет немедленно очищено.

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ввод в 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:

For li = 1 To 10

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

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

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

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

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