Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

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

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

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

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


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


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

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

Цвет текстового поля doc на основе значения 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

Цвет текстового поля doc на основе значения 2

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

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

Цвет текстового поля doc на основе значения 3


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

Цвет текстового поля doc на основе значения 4

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

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

Цвет текстового поля doc на основе значения 5


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

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

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

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

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


Kutools для Excel - лучший инструмент для повышения производительности в офисе Повысьте производительность на 80%

  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905

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

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Stefan · 1 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Stefan · 1 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Justin · 2 years ago
    Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks