Как да променя цвета на текстовото поле въз основа на стойност в Excel?
В Excel можем да приложим функцията за условно форматиране, за да променим цвета на фона въз основа на стойността на клетката, но в тази статия ще говоря за това как да променя цвета на текстовото поле въз основа на стойността на клетката или стойността в текстовото поле.
Променете цвета на текстовото поле въз основа на стойността на клетката с VBA код
Променете цвета на текстовото поле въз основа на стойността в текстовото поле с VBA код
Променете цвета на текстовото поле въз основа на стойността на клетката с VBA код
Да речем, ако стойността на клетката в A1 е по-голяма от стойността на клетката в B1, искам текстовото поле да бъде запълнено с червен цвят, напротив, текстовото поле трябва да бъде запълнено с жълт цвят. Моля, постигнете тази задача със следните стъпки:
1. Вмъкнете текстово поле, като щракнете Софтуерен Инженер > Поставете > Текстово поле (ActiveX Control)и след това нарисувайте текстово поле, вижте екранната снимка:
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
Забележка: В горния код, Текстово поле1 е името на текстовото поле, което сте вмъкнали, и можете да промените стойностите и цвета на фона в кода на вашите собствени.
2. След това запазете и затворете прозореца с код и излезте от Режим на проектиране, сега, ако въведете стойността между 1 и 10 в текстовото поле, неговият фонов цвят ще стане червен, стойността между 11 и 20, цветът на фона на текстовото поле ще стане зелен, други стойности ще станат жълти, както е показано на следната екранна снимка:
Още по темата:
Как да вмъкна картина в текстово поле?
Как да задам стойност по подразбиране в текстово поле?
Как да разрешите въвеждането само на числа в текстовото поле?
Как да приложа проверка на правописа в текстовото поле?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!