Перейти к содержимому

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

Author: Xiaoyang Last Modified: 2025-08-07

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

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

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


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

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

1. Вставьте текстовое поле, нажав Разработчик > Вставить > Поле текста (Элемент управления ActiveX), а затем нарисуйте текстовое поле, см. скриншот:

a screenshot showing how to insert a text box control

2. Затем щелкните правой кнопкой мыши текстовое поле и выберите Просмотр кода в контекстном меню, чтобы открыть окно Microsoft Visual Basic for Applications, после чего замените исходный код следующим кодом 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

a screenshot showing how to use the VBA code

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

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

a screenshot showing different coloured text boxes based on different cell values


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

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

1. После вставки текстового поля щелкните его правой кнопкой мыши и выберите Просмотр кода в контекстном меню, чтобы открыть окно Microsoft Visual Basic for Applications, затем замените исходный код следующим кодом 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

a screenshot of using the VBA code

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

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

a screenshot showing different coloured text boxes based on different values in the text box


<

Связанные статьи:

Как вставить изображение в текстовое поле?

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

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

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


Лучшие инструменты для повышения продуктивности в Office

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

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


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!