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

Примечание: в приведённом выше коде 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

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

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