Перейти к основному содержанию

Как изменить цвет текстового поля в зависимости от значения в Excel?

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

Изменить цвет текстового поля на основе значения ячейки с кодом VBA

Изменить цвет текстового поля на основе значения в текстовом поле с кодом VBA


стрелка синий правый пузырь Изменить цвет текстового поля на основе значения ячейки с кодом VBA

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

1. Вставьте текстовое поле, нажав Застройщик > Вставить > Текстовое поле (элемент управления ActiveX), а затем нарисуйте текстовое поле, см. снимок экрана:

цвет текстового поля документа на основе значения 1

2. Затем щелкните текстовое поле правой кнопкой мыши и выберите Просмотреть код из контекстного меню, чтобы открыть Microsoft Visual Basic для приложений окна, а затем замените исходный код следующим кодом VBA в пустой модуль:

Код VBA: изменить цвет текстового поля в зависимости от значений ячеек:

Private Sub TextBox1_Change()
    If ActiveSheet.Range("A1").Value > ActiveSheet.Range("B1").Value Then
        Me.TextBox1.BackColor = vbRed
    Else
        Me.TextBox1.BackColor = vbYellow
    End If
End Sub

цвет текстового поля документа на основе значения 2

Внимание: В приведенном выше коде TextBox1 это имя текстового поля, которое вы вставили, A1 и B1 - это две ячейки, на основе которых вы хотите изменить цвет текстового поля, измените их по своему усмотрению.

3. Затем сохраните и закройте окно кода и выйдите из Режим дизайна, теперь, если ячейка A1 больше B1, при вводе текста в текстовое поле она будет заполнена красным цветом, а если A1 меньше B1, при вводе значения в текстовое поле она будет заполнена желтым цветом, см. снимок экрана:

цвет текстового поля документа на основе значения 3


стрелка синий правый пузырь Изменить цвет текстового поля на основе значения в текстовом поле с кодом VBA

Если вы хотите изменить цвет текстового поля на основе значения в текстовом поле, например, когда значение в текстовом поле находится между 1 и 10, цвет текстового поля закрашен красным, цвет текстового поля зеленый, если значение находится в диапазоне от 11 до 20, если есть другие значения, цвет текстового поля желтый. Чтобы справиться с этой задачей, примените приведенный ниже код VBA.

1. После вставки текстового поля щелкните его правой кнопкой мыши и выберите Просмотреть код из контекстного меню, чтобы открыть Microsoft Visual Basic для приложений окна, а затем замените исходный код следующим кодом VBA в пустой модуль:

Код VBA: изменить цвет текстового поля в зависимости от значения в текстовом поле:

Private Sub TextBox1_Change()
    On Error Resume Next
    Select Case TextBox1.Value
        Case 1 To 10:
            TextBox1.BackColor = vbRed
        Case 11 To 20:
            TextBox1.BackColor = vbGreen
        Case Else:
            TextBox1.BackColor = vbYellow
    End Select
End Sub

цвет текстового поля документа на основе значения 4

Внимание: В приведенном выше коде Текстовое поле1 - это имя текстового поля, которое вы вставляете, и вы можете изменить значения и цвет фона в коде на свои собственные.

2. Затем сохраните и закройте окно кода и выйдите из Режим проектированияТеперь, если вы введете значение от 1 до 10 в текстовое поле, его цвет фона станет красным, значение от 11 до 20, цвет фона текстового поля станет зеленым, другие значения станут желтыми, как показано на следующем снимке экрана:

цвет текстового поля документа на основе значения 5


Статьи по теме:

Как вставить картинку в текстовое поле?

Как установить значение по умолчанию в текстовом поле?

Как разрешить ввод только чисел в текстовое поле?

Как применить проверку орфографии в текстовом поле?

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Nevermind, I figured it out. Instead of making the event which triggers the change "Textbox1_GotFocus()", I made it "Worksheet_SelectionChange(ByVal Target As Range)". Now any time the value in one of the cells changes, the textbox color changes automatically.
This comment was minimized by the moderator on the site
For me, when trying to change the textbox color value based on two cell values, the textbox only updates if you type something into the textbox. I need it to update automatically. Guess I'll just have to learn VBA to figure out why.
This comment was minimized by the moderator on the site
Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations