Saltar al contenido

Cómo usar el valor seleccionado de ComboBox para saber el formato condicional en Excel

Abr 24, 2020

Gracias a la propiedad de celda vinculada en Microsoft Excel, es muy fácil usar el valor seleccionado como condición en una macro o regla de formato condicional. Formatear valores para clasificarlos u obtener nuestra atención es una práctica común en Microsoft Excel. Afortunadamente, una regla de formato condicional generalmente hace el truco, y la función es fácil de usar.

Ocasionalmente, te encontrarás con una situación que te dejará rascándote un poco la cabeza. Por ejemplo, ¿puedes formatear condicionalmente el valor seleccionado en un control de cuadro combinado?

La respuesta es sí, pero no utilizará el formato condicional; usará un procedimiento de VBA. En este artículo, le mostraré cómo formatear el valor seleccionado de un combo y el contenido de una celda normal en función de esa selección.

Primero, incrustaremos un control de cuadro combinado. Luego, utilizaremos un procedimiento de evento VBA para cambiar el color de fuente del control, en función del valor seleccionado. A continuación, utilizaremos una regla de formato condicional para formatear una celda, en función del valor seleccionado del combo.

Estoy usando Office 365 (escritorio) pero puedes usar versiones anteriores. Puede trabajar con su propia hoja o descargar los archivos de demostración .xlsm . Nada es este artículo aplicable a la edición del navegador.

Cómo incrustar el menú desplegable en Excel

Puede usar un control de validación de datos para ofrecer una lista, pero en este caso, un control de cuadro combinado incorporado es superior porque puede vincular el control a una celda. En esta sección, incrustaremos un control de cuadro combinado y le daremos una breve lista estática; por estática , quiero decir que la lista no será dinámica; lo actualizará manualmente si cambian los elementos de la lista.

Primero, agregue la lista: Estándar, Plata, Oro, Platino y Diamante, a un lugar apartado. Para nuestros propósitos, usaré J3: J7 para que todo esté en la misma hoja y sea visible.

Ahora, agregue un control de cuadro combinado cerca de la celda B2 de la siguiente manera:

1.-Haga clic en la pestaña Desarrollador. En el grupo Control, haga clic en el menú desplegable Insertar y luego elija Cuadro combinado en la sección Controles ActiveX.
2.-Incruste el control cerca de B2 y cambie el tamaño según sea necesario. (Más adelante, vincularemos a B2 y quiero que vean que la celda vinculada y el control funcionan juntos).
3.-Con el control seleccionado, haga clic en Propiedades en el grupo Controles.
4.-En la hoja de propiedades resultante, ingrese B2 como la configuración de LinkedCell y J3: J7 como la configuración de ListFillRange ( Figura A ).
5.-Cierre la hoja de propiedades.
6.-Verifique el nombre del control; en el archivo de demostración, es ComboBox1. Puedes darle un nombre personalizado. De cualquier manera, asegúrese de anotar el nombre del control. Lo necesitarás más tarde.
7.-Haga clic en Modo de diseño en el grupo Controles para que pueda usar el control.

Figura A

enlazar control cuadro combinado

Para usar el combo, haga clic en el menú desplegable y seleccione cualquier elemento. En la Figura B , puedes ver que elijo Oro. Es por eso que quería que incrustara el control cerca de B2: puede ver que el elemento seleccionado en el combo actualiza el contenido de la celda vinculada, B2. Siga adelante y elija diferentes elementos y vea la actualización B2 en consecuencia.

Figura B

El elemento seleccionado en el combo

Cómo formatear el cuadro combinado

Lo más probable es que no desee formatear el cuadro combinado en sí, pero tiene algunas opciones. Para ilustrar, utilizaremos un breve procedimiento de VBA para cambiar el color de la fuente. Para hacerlo, haga clic en Modo de diseño en el grupo Controles (pestaña Desarrollador) si es necesario. Luego, haga doble clic en el control para abrir el Editor de Visual Basic (VBE) en el módulo de la hoja activa (Hoja1), incluido un apéndice para el procedimiento de evento Cambiar del control. Complete el procedimiento agregando el código que se muestra en el Listado A. (No copie el código de esta página web; el VBE no podrá interpretar caracteres web no vistos. Puede copiar el texto en un editor de texto y luego copiarlo en el módulo. O puede encontrar el procedimiento en el archivo descargable archivo de módulo). Regrese al libro de trabajo y guárdelo como un libro de trabajo habilitado para macros (.xlsm) si está trabajando con la versión de cinta.

Listado A

Private Sub ComboBox1_Change ()

(Cambie el color de fuente del control, según el valor seleccionado).

Dim cbo como ComboBox

Establezca cbo = ComboBox1 (si nombra su control, asegúrese de actualizar esta definición).

Seleccionar caso cbo.Value

Caso “Estándar”

cbo.ForeColor = vbRed

Estuche “Plata”

cbo.ForeColor = vbCyan

Estuche “Oro”

cbo.ForeColor = vbYellow

Estuche “Platino”

cbo.ForeColor = vbMagenta

Caja “Diamante”

cbo.ForeColor = vbBlue

Seleccionar final

End Sub

De vuelta en la hoja de trabajo, elija un elemento de la lista desplegable. El cambio no será inmediatamente aparente: haga clic en otro lugar de la hoja. La única desventaja es que la propiedad ForeColor cambia la lista completa, no solo el elemento seleccionado, sino que eso puede no importar.

Hay otras propiedades que puede establecer de la misma manera, pero es probable que lo que realmente quiera hacer sea formatear un valor en algún lugar de la hoja. Debido a que el combo está vinculado a B2, es más fácil de lo que piensas.

Cómo formatear otra celda

Es común escribir reglas de formato condicional que formatee una celda en función del valor en otra celda. No es tan claro con este ejemplo, porque el valor condicional está en un cuadro combinado, no en una celda. Pero no tiene que hacer referencia al cuadro combinado; puede hacer referencia a B2, para que ese problema se resuelva rápidamente. Es por eso que usé un cuadro combinado en lugar de un control de validación de datos.

Nuestro ejemplo no tiene un conjunto de datos, por lo que utilizaremos F2 como celda / rango para formatear:

1.-En la pestaña Inicio, haga clic en Formato condicional en el grupo Estilos y elija Nueva regla en la lista desplegable.
2.-En el panel superior, seleccione la última opción, Usar una fórmula …
3.-En el panel inferior, ingrese la siguiente expresión:
= B2 = “Estándar”
4.-Haga clic en el botón Formato, haga clic en la pestaña Fuente (si es necesario), elija rojo en el menú desplegable Color y haga clic en Aceptar. La Figura C muestra la expresión y el formato. Haga clic en Aceptar para volver a la hoja.

Figura C

aplicar un formato
Ahora, seleccione Estándar del combo, y el texto en F2 será de color rojo, como se muestra en la figura D . Además, el elemento seleccionado en el combo también es rojo.

Figura D

La regla de formato condicional formatea el texto en F2
Repita los pasos anteriores hasta que haya agregado una regla para cada color:

•La plata es cian (verde brillante); = B2 = “Plata”
•El oro es amarillo; = B2 = “Oro”
•El platino es magenta (estampado rosa); = B2 = “Platino”
•El diamante es azul; = B2 = “Diamante”

Después de establecer una regla para cada color, actualizar el combo cambiará tanto el combo como el color de fuente para F2. No tienes que usar los dos juntos. De hecho, es dudoso que quieras formatear un combo, pero ahora sabes cómo usar el valor seleccionado de un combo para formatear datos.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies