Imagen: Captura de pantalla

Formatear valores para categorizarlos o llamar nuestra atención es una práctica común en Microsoft Excel. Afortunadamente, una regla de formato condicional generalmente funciona, y la función es fácil de usar. A veces te encontrarás en una situación que te dejará un poco perplejo. Por ejemplo, ¿puede formatear condicionalmente el valor seleccionado en un control de cuadro combinado? La respuesta es sí, pero no utilizará el formato condicional; utilizará un procedimiento 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 esta selección.

Divulgación: TechRepublic puede ganar una comisión sobre algunos de los productos presentados en esta página. TechRepublic y el autor no han sido compensados ​​por esta revisión independiente.

APRENDE MÁS: Office 365 para empresas

Primero, incrustaremos un control de cuadro combinado. A continuación, usaremos un procedimiento de evento de VBA para cambiar el color de fuente del control, según el valor seleccionado. A continuación, usaremos una regla de formato condicional para formatear una celda, según el valor combinado seleccionado.

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

VER: 52 trucos de Excel que todo usuario debe dominar (República Tecnológica)

Índice
  • Cómo incrustar una lista desplegable en Excel
  • Cómo dar formato al cuadro combinado
  • Cómo formatear otra celda
  • Cómo incrustar una lista desplegable en Excel

    Puede usar un control de validación de datos para generar una lista, pero en este caso un control de cuadro combinado integrado 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ático, quiero decir que la lista no será dinámica; lo actualizará manualmente si los elementos de la lista cambian.

    Primero, agregue la lista (Estándar, Plata, Oro, Platino y Diamante) a una ubicación remota. 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, luego seleccione Cuadro combinado en la sección Controles ActiveX.
    2. Incruste el control cerca de B2 y cambie el tamaño si es necesario. (Más tarde nos vincularemos a B2 y quiero que vea la celda vinculada y el control trabajando juntos).
    3. Con el control seleccionado, haga clic en Propiedades en el grupo Controles.
    4. En la hoja de propiedades resultante, introduzca B2 como un parámetro LinkedCell y D3:D7 como parámetro ListFillRange(Figura A).
    5. Cierre la hoja de propiedades.
    6. Compruebe 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 poder utilizar el control.

    Figura A

    Para usar el combo, haga clic en el menú desplegable y seleccione cualquier elemento. Dentro Figura B, puede ver que estoy eligiendo O. Es por eso que quería que incrustara el control cerca de B2: puede ver el elemento seleccionado en el combo actualizando el contenido de la celda vinculada, B2. Continúe y elija diferentes elementos y observe la actualización B2 en consecuencia.

    Figura B

    Cómo dar formato al cuadro combinado

    Lo más probable es que no desee formatear el cuadro combinado en sí, pero tiene algunas opciones. Para ilustrar, usaremos un breve procedimiento de VBA para cambiar el color de la fuente. Para hacer esto, 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 hoja activo (Hoja1), incluido un código auxiliar para el procedimiento de evento de cambio del control. Complete el procedimiento agregando el código que se muestra en Lista A. (No copie el código de esta página web; el VBE no podrá interpretar los caracteres web invisibles. Puede copiar el texto en un editor de texto y luego copiarlo en el módulo. O puede encontrar el procedimiento en el archivo módulo descargable). 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 la cinta.

    Lista A

    Sub ComboBox1_Change privado ()

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

    Dim cbo como cuadro combinado

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

    Seleccionar caso cbo.Valor

    caja "estándar"

    cbo.ForeColor = vbRed

    Caja "Plata"

    cbo.ForeColor = vbCian

    Caja "Oro"

    cbo.ForeColor = vbAmarillo

    Caso "Platino"

    cbo.ForeColor = vbMagenta

    Caja "Diamante"

    cbo.ForeColor = vbBlue

    Fin de la selección

    Título final

    De vuelta en la hoja de cálculo, elija un elemento de la lista desplegable. El cambio no será evidente de inmediato; haga clic en cualquier otra parte de la hoja. El único inconveniente es que la propiedad ForeColor cambia toda la lista, no solo el elemento seleccionado, pero eso podría no importar.

    Hay otras propiedades que puede configurar de la misma manera, pero lo más probable es que realmente desee 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 formatean una celda en función del valor de 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 el 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 usaremos F2 como celda/rango para formatear:

    1. En la pestaña Inicio, haga clic en Formato condicional en el grupo Estilos, luego elija Nueva regla en la lista desplegable.
    2. En el panel superior, seleccione la última opción, Usar fórmula…
    3. En el panel inferior, escriba 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 la lista desplegable Color y haga clic en Aceptar. Figura C muestra expresión y formato. Haga clic en Aceptar para volver a la hoja.

    Figura C

    Ahora elija Estándar del menú desplegable y el texto en F2 será rojo como se muestra en Figura D. Además, el elemento seleccionado en el combo también es rojo.

    Figura D

    Repita los pasos anteriores hasta que haya agregado una regla para cada color:

    • La plata es cian (verde brillante); =B2=”Dinero”
    • El oro es amarillo; =B2=”Oro”
    • El platino es magenta (letra 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 ambos juntos. De hecho, es poco probable que desee formatear un combo, pero ahora sabe cómo usar el valor seleccionado de un combo para formatear los datos.