Прескочи на основното съдържание

Как да променя цвета на текстовото поле въз основа на стойност в Excel?

Автор: Xiaoyang Последна промяна: 2017-12-14

В Excel можем да приложим функцията за условно форматиране, за да променим цвета на фона въз основа на стойността на клетката, но в тази статия ще говоря за това как да променя цвета на текстовото поле въз основа на стойността на клетката или стойността в текстовото поле.

Променете цвета на текстовото поле въз основа на стойността на клетката с VBA код

Променете цвета на текстовото поле въз основа на стойността в текстовото поле с VBA код


стрелка син десен балон Променете цвета на текстовото поле въз основа на стойността на клетката с VBA код

Да речем, ако стойността на клетката в A1 е по-голяма от стойността на клетката в B1, искам текстовото поле да бъде запълнено с червен цвят, напротив, текстовото поле трябва да бъде запълнено с жълт цвят. Моля, постигнете тази задача със следните стъпки:

1. Вмъкнете текстово поле, като щракнете Софтуерен Инженер > Поставете > Текстово поле (ActiveX Control)и след това нарисувайте текстово поле, вижте екранната снимка:

цвят на текстовото поле на 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


стрелка син десен балон Променете цвета на текстовото поле въз основа на стойността в текстовото поле с 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

Забележка: В горния код, Текстово поле1 е името на текстовото поле, което сте вмъкнали, и можете да промените стойностите и цвета на фона в кода на вашите собствени.

2. След това запазете и затворете прозореца с код и излезте от Режим на проектиране, сега, ако въведете стойността между 1 и 10 в текстовото поле, неговият фонов цвят ще стане червен, стойността между 11 и 20, цветът на фона на текстовото поле ще стане зелен, други стойности ще станат жълти, както е показано на следната екранна снимка:

цвят на текстовото поле на doc въз основа на стойност 5


Още по темата:

Как да вмъкна картина в текстово поле?

Как да задам стойност по подразбиране в текстово поле?

Как да разрешите въвеждането само на числа в текстовото поле?

Как да приложа проверка на правописа в текстовото поле?

Най-добрите инструменти за продуктивност в офиса

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

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
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.
This comment was minimized by the moderator on the site
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.
This comment was minimized by the moderator on the site
Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations