KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

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

АвторСяоянДата изменения

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

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

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


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

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

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

снимок экрана, показывающий, как вставить элемент управления текстовым полем

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

снимок экрана, показывающий, как использовать код VBA

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

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

снимок экрана, демонстрирующий текстовые поля разных цветов в зависимости от значений в ячейках


Изменение цвета текстового поля в зависимости от значения в самом текстовом поле с помощью кода 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

снимок экрана использования кода VBA

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

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

снимок экрана, демонстрирующий текстовые поля разных цветов в зависимости от значений в текстовом поле


<

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

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

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

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

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


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

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 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 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек