Как изменить цвет текстового поля на основе значения в Excel?
В Excel мы можем применить функцию условного форматирования для изменения цвета фона на основе значения ячейки, но в этой статье я расскажу о том, как изменить цвет текстового поля на основе значения ячейки или значения внутри текстового поля.
Изменение цвета текстового поля на основе значения ячейки с помощью кода VBA
Изменение цвета текстового поля на основе значения внутри текстового поля с помощью кода VBA
Изменение цвета текстового поля на основе значения ячейки с помощью кода VBA
Допустим, если значение ячейки A1 больше значения ячейки B1, я хочу, чтобы текстовое поле было заполнено красным цветом, наоборот, текстовое поле должно быть заполнено желтым цветом. Пожалуйста, выполните эту задачу следующими шагами:
1. Вставьте текстовое поле, нажав Разработчик > Вставить > Поле текста (Элемент управления ActiveX), а затем нарисуйте текстовое поле, см. скриншот:
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
Примечание: В приведенном выше коде TextBox1 — это имя вставленного текстового поля, A1 и B1 — это две ячейки, на основе которых вы хотите изменить цвет текстового поля, пожалуйста, измените их по своему усмотрению.
3. Затем сохраните и закройте окно кода и выйдите из режима конструктора. Теперь, если ячейка A1 больше, чем B1, при вводе текста в текстовое поле оно будет заполнено красным цветом, а если A1 меньше, чем B1, при вводе значения в текстовое поле оно будет заполнено желтым цветом, см. скриншот:
Изменение цвета текстового поля на основе значения внутри текстового поля с помощью кода 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
Примечание: В приведенном выше коде 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-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек