¿Cómo cambiar el color de un cuadro de texto según el valor en Excel?
En Excel, podemos aplicar la función Formato condicional para cambiar el color de fondo basado en el valor de una celda, pero en este artículo hablaré sobre cómo cambiar el color de un cuadro de texto basado en el valor de una celda o el valor dentro del cuadro de texto.
Cambiar el color del cuadro de texto basado en el valor de la celda con código VBA
Cambiar el color del cuadro de texto basado en el valor dentro del cuadro de texto con código VBA
Cambiar el color del cuadro de texto basado en el valor de la celda con código VBA
Supongamos que si el valor de la celda A1 es mayor que el valor de la celda B1, quiero que el cuadro de texto se rellene de color rojo; por el contrario, el cuadro de texto debería rellenarse de color amarillo. Por favor, realiza esta tarea siguiendo los siguientes pasos:
1. Inserta un cuadro de texto haciendo clic en Desarrollador > Insertar > Cuadro de Texto (Control ActiveX), y luego dibuja un cuadro de texto, ver captura de pantalla:
2. Luego haz clic derecho en el cuadro de texto y selecciona Ver Código desde el menú contextual para abrir la ventana de Microsoft Visual Basic para Aplicaciones, y luego reemplaza el código original con el siguiente código VBA en el módulo en blanco:
Código VBA: Cambiar el color del cuadro de texto basado en los valores de las celdas:
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
Nota: En el código anterior, TextBox1 es el nombre del cuadro de texto que insertaste, A1 y B1 son las dos celdas en las que deseas cambiar el color del cuadro de texto, cámbialos según sea necesario.
3. Luego guarda y cierra la ventana de código, y sal del Modo Diseño. Ahora, si la celda A1 es mayor que B1, cuando escribas texto en el cuadro de texto, se llenará de color rojo, y si A1 es menor que B1, al ingresar un valor en el cuadro de texto, se llenará de color amarillo, ver captura de pantalla:
Cambiar el color del cuadro de texto basado en el valor dentro del cuadro de texto con código VBA
Si quieres cambiar el color del cuadro de texto basado en el valor dentro del cuadro de texto, por ejemplo, cuando el valor en el cuadro de texto está entre 1 y 10, el color de relleno del cuadro de texto es rojo, el color del cuadro de texto será verde si el valor está entre 11 y 20, y si es otro valor, el color del cuadro de texto será amarillo. Para realizar esta tarea, aplica el siguiente código VBA.
1. Después de insertar un cuadro de texto, haz clic derecho en él y selecciona Ver Código desde el menú contextual para abrir la ventana de Microsoft Visual Basic para Aplicaciones, y luego reemplaza el código original con el siguiente código VBA en el módulo en blanco:
Código VBA: Cambiar el color del cuadro de texto basado en el valor dentro del cuadro de texto:
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
Nota: En el código anterior, Textbox1 es el nombre del cuadro de texto que has insertado, y puedes cambiar los valores y el color de fondo dentro del código según tus necesidades.
2. Luego guarda y cierra la ventana de código, y sal del Modo Diseño. Ahora, si introduces un valor entre 1 y 10 en el cuadro de texto, su color de fondo se volverá rojo, un valor entre 11 y 20 hará que el color de fondo del cuadro de texto se vuelva verde, y otros valores lo harán amarillo como se muestra en la siguiente captura de pantalla:
<
Artículos relacionados:
¿Cómo insertar una imagen en un cuadro de texto?
¿Cómo establecer un valor predeterminado en un cuadro de texto?
¿Cómo permitir solo números en un cuadro de texto?
¿Cómo aplicar la revisión ortográfica en un cuadro de texto?
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!