Как отформатировать текстовое поле в процентах в Excel?
В предыдущей статье мы показали, как форматировать числа в текстовом поле как денежные значения в Excel. Теперь разберём, как настроить автоматическое преобразование введённых чисел в процентный формат с помощью VBA — для единообразного и наглядного отображения данных.
Форматирование записей в текстовом поле как процентов с помощью кода VBA
Форматирование записей в текстовом поле как процентов с помощью кода VBA
Выполните следующие шаги, чтобы с помощью кода VBA отформатировать текстовое поле как процент.
1. Нажмите «Разработчик» > «Вставить» > «Текстовое поле (элемент управления ActiveX)», чтобы разместить текстовое поле на листе. См. снимок экрана:

2. Щёлкните правой кнопкой мыши текстовое поле и в контекстном меню выберите «Просмотреть код».

3. В открывшемся окне «Microsoft Visual Basic for Applications» замените исходный код в редакторе приведённым ниже кодом VBA.
Код VBA: форматирование текстового поля как процентов в Excel
Private Sub TextBox1_LostFocus()
Dim xReg As New RegExp
Dim xMatches As MatchCollection
Dim xMatch As Match
Dim xText As String
Dim xReplace As String
On Error Resume Next
Application.ScreenUpdating = False
xText = Me.TextBox1.Text
xText = Replace(xText, "%", "")
With xReg
.Global = True
.Pattern = "([^0-9]+\d+)|(\d{1,})"
Set xMatches = .Execute(xText)
For Each xMatch In xMatches
xReplace = xReplace & xMatch.Value & "%"
Next
End With
xText = xReplace & Mid(xText, Len(xReplace) - xMatches.Count + 1)
Me.TextBox1.Text = xText
Application.ScreenUpdating = True
End Sub Примечание. Замените «TextBox1» на имя вашего текстового поля.
4. Выберите «Сервис» > «Ссылки». В открывшемся диалоговом окне «Ссылки – VBAProject» установите флажок напротив «Microsoft VBScript Regular Expressions» и нажмите «ОК». См. снимок экрана:

5. Нажмите «Alt» + «Q», чтобы закрыть окно Microsoft Visual Basic for Applications.
6. Вернувшись на лист, снова выберите «Разработчик» > «Режим конструктора», чтобы отключить его.

Теперь, как только вы введёте числа в текстовое поле и переведёте фокус за его пределы (например, щёлкнув по любой ячейке), они автоматически отформатируются как проценты.
См. также:
- Как отформатировать текстовое поле под денежную единицу в Excel?
- Как включить автоматическое выделение всего текста в текстовом поле при его выборе в Excel?
- Как включить автозавершение текста при вводе в текстовое поле Excel?
- Как объединить текст из нескольких ячеек в одну ячейку в Excel?
- Как запретить редактирование текстового поля в Excel, чтобы пользователь не мог вводить в него данные?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек