¿Es posible crear una macro en Excel 2010 que cree formatos condicionales?

Estoy pensando en crear una macro que me cree formatos condicionales antes de empezar a usar mi fichero, la idea es:

1.- Abro mi fichero excel y le doy a la macro para que genere los formatos condicionales

2.- Trabajo con mi fichero y tengo tres condiciones: Dependiendo del texto de un campo en concreto me tiene que pintar la fila de un color diferente.

La version de Excel es 2012.

1 respuesta

Respuesta
1

Claro que se puede con macros. Puedes poner un ejemplo con datos reales de lo que necesitas y cuales son esas condiciones y cuales color quieres. También tienes que poner el nombre de la hoja y las celdas que van a tener la condición y las que van a cambiar de color.

Saludos. Dam

Gracias por tu rápida respuesta, a ver si me puedes ayudar.

Yo trabajo con el fichero que ves en la foto, y lo que quería es que al abrir el fichero yo pueda primero ejecutar la macro para que las lineas en las que aparece "Forecast" pinte los meses de azul y las lineas que pone "Actual" las pinte de naranja, además la ultima condición es que cuando yo trabaje en el fichero si cambio alguna linea a "New Forecast" me la pinte toda de morado.

No se si me explicado bien, de esta manera cuando abro el fichero ejecuto la macro y me ahorro el tener que estar pintado todo y volverlo a pintar cuando cambia a "New Forecast".

Muchas gracias y un saludo.

Peter.

Te envío una macro que pone los colores

Instrucciones para ejecutar macro
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona ALt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Para ejecutarla presiona F5

Si quieres un botón para ejecutar la macro.

Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona ALt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: pinta . Aceptar.
9. Para ejecutarla dale click a la imagen.

Sub pinta()
'Por.Dam
'azul 33
'naranja 46
'morado 39
ufila = Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To ufila
    Select Case Cells(i, 1)
        Case "Forecast"
            Range(Cells(i, 3), Cells(i, 14)).Interior.ColorIndex = 33
        Case "Actual"
            Range(Cells(i, 3), Cells(i, 14)).Interior.ColorIndex = 46
        Case "New Forecast"
            Range(Cells(i, 3), Cells(i, 14)).Interior.ColorIndex = 39
    End Select
Next
End Sub

Si los colores que te aparecen, no son los que quieres, puedes cambiar el color, de la siguiente forma:
1. Busca el número de color de tu preferencia en el siguiente enlace:
http://dmcritchie.mvps.org/excel/colors.htm
2. Ya que ubicaste el color que deseas, apunta el número de font, por ejemplo: Interior: Blue, Font [5]
3. Edita la macro, abre tu archivo de excel, presiona Alt + F11
4. Cambia el número de color en Forecast, ej:
Range(Cells(i, 3), Cells(i, 14)). Interior.ColorIndex = 33
Por el Nuevo
Range(Cells(i, 3), Cells(i, 14)). Interior.ColorIndex = 5
5. Guarda

Saludos. Dam
Si es lo que necesitas.

Muchas gracias por tu ayuda,

Efectivamente esto es una parte de lo que quería, pero si puedes me gustaría que me ayudaras un poco mas, te cuento lo que me faltaría en la macro:

.- Que también me pinte la columna donde se indica "forecast" o "actual", de momento me pinta los años pero me gustaría que pintara la columna A también.

.- Una vez que ejecuto la macro, luego cuando cambio algún dato a "New forecast" no me cambia el color al no ser que vuelva a ejecutar la macro y me gustaría si se puede que lo hiciera ya automático por eso yo preguntaba lo de los formatos condicionales, para ejecutar la macro primeramente y luego no tener que volverla a ejecutar.

Muchas gracias por todo y por favor si me estoy "pasando" en pedir cosas dímelo que no quiero molestar mas de lo debido.

Muchas gracias de nuevo y un saludo.

Pedro.

Te explico como poner un formato condicional.

Sigue las instrucciones:
1. Pon el cursor en la celda C6
2. Ahora, tienes que hacer lo siguiente:
2.1 Elige del menú: Formato / Formato Condicional
2.2 En el primer campo selecciona “Fórmula”
2.3 En el siguiente campo pon esta fórmula: =A6 =”Forecast”
2.4 Presiona el botón: Formato, en la pestaña de tramas selecciona el color azul. Aceptar
3. Presiona el botón: Agregar
4. Repite los paso 2.1 al 2.4
En la fórmula pon esta: =$A6="Actual"
En tramas selecciona el color naranja. Aceptar
5. Presiona el botón: Agregar
6. Repite los paso 2.1 al 2.4
En la fórmula pon esta: =$A6="New Forecast"
En tramas selecciona el color morado. Aceptar
Aceptar
7. Copia la fórmula y después eliges del menú: Edición / Pegado especial / Formatos. Aceptar
8. Selecciona todas las celdas y ahora cópialas hacia la derecha hasta el mes de diciembre.
9. Para que también se pinte de color la columna A, copia una celda que ya tenga el formato condicional y pégala con pegado especial / Formatos, en la celda A6 y en todas las filas que tengas hacia abajo.
Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas