Cambiar color de fondo de celda según variable

Tengo que cambiar el color de fondo (Propiedad Interior. Color) de 3 o 4 celdas según la variable de la primera. Por ejemplo:

A1="Vestido de Noche" Por lo que A2=Rojo, A3=Azul y A4=Negro.

A1="Vestido de niña" Por lo que A2=Rosa, A3=Celeste, A4=Verde y A5=Blanco.

Además, debo poder ingresar un valor en cada uno de esas celdas para poder sumarlas posteriormente para saber cuántos vestidos compró el cliente en total.

Tengo entendido que se puede realizar con Formato Condicional, pero no funciona correctamente en mi caso, no entiendo aun la razón. También entiendo que se puede realizar con VBA y es en ello que les solicito su ayuda.

1 respuesta

Respuesta
1

Te anexo la macro para poner los colores en esos casos. Cada que pongas uno de esos 2 vestidos en la celda A1 los colores cambiarán.

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Address(False, False) = "A1" Then
        Select Case UCase(Target.Value)
        Case UCase("Vestido de Noche")
            [A2].Interior.Color = vbRed
            [A3].Interior.Color = vbBlue
            [A4].Interior.Color = vbBlack
            [A5].Interior.Color = xlNone
        Case UCase("Vestido de niña")
            [A2].Interior.Color = vbMagenta
            [A3].Interior.Color = vbCyan
            [A4].Interior.Color = vbGreen
            [A5].Interior.Color = vbWhite
        End Select
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Supongo que tendrás más combinaciones de vestidos y de colores, pero si pones cómo tienes esa información puedo actualizar la macro. Mientras, prueba la macro para que veas el funcionamiento tal y como lo pusiste en tu ejemplo.

Saludos. Dante Amor

Si es lo que necesitas.

Saludos Dante:

Te agradezco la respuesta tan pronta a mi requerimiento. La pregunta ahora es ¿Cómo puedo dejar esto como una función que pueda llamar para cualquier celda? Muchas gracias nuevamente.

Hola nuevamente. Aclarando un poco más el tema, lo que requiero hacer es la creación de una macro que pueda aplicar a más de una celda; aplicable a cualquier coordenada (por ejemplo "=VerColor(A1)"), si es que se puede realizar ¿O le estoy pidiendo mucho a Excel?

Con gusto te creo una función pero tendrías que poner un ejemplo de lo que quieres obtener de resultado de la función.

Si la primera macro que te envié te funcionó, por favor valor la respuesta.

Al final de mi respuesta dice: “Es una buena respuesta” y puedes seleccionar una de 3 opciones:

  • Excelente
  • Si
  • No

Crea una nueva pregunta por cada petición, en la nueva pregunta me explicas con ejemplos, imágenes o comentarios lo que esperas de resultado de la función.

Incluso si puedes enviarme tu archivo, me explicas de dónde va a obtener los colores la función.

Saludos. Dante Amor

Mira, esta es la idea, los colores de fondo de estas celdas, deberán cambiar conforme al arículo. Si al cliente 1 le cambio a VESTIDO NOCHE, deberían cambiar esos colores.

Adjunto un enlace donde tengo el archivo de ejemplo: https://www.dropbox.com/s/2qytjjeu33qtj1j/PROYECTO.xlsx?dl=0 

Muchas gracias por tu paciencia.

En tu hoja2, debes poner la relación de colores, para que la función pueda tomar el color en base al artículo y al número de color:

En lo que termino la nueva macro, crea la nueva pregunta para enviártela, al final del título de la nueva pregunta puedes poner que va dirigida a Dante Amor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas