En este grupo En todos

Foro de Excel



Asignar color a Fila si se cumple condición de una celda.

Alberto
Baja California, Méx...
Escrito por Alberto Pérez
el 30/09/2011

Amigos,

Antes que nada muchas gracias por esta valiosa herramienta que ponen a nuestra disposición.

La ayuda especifica que necesito es la siguiente:

Tengo una tabla de excel que abarca desde la columna "A" a la Columna "Q", en la columna "Q" tengo una formula que me puede arrojar uno de 3 resultados posibles: "ABIERTO", "CERRADO" o "VENCIDO". He aplicado un codigo VB para que me coloree la fila dependiendo del resultado: "ANARANJADO", ROJO" O "VERDE". Anexo el codigo.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If (Target. Value = "VENCIDO") Then
Rows(Target. Row & ":" & Target. Row). Interior. Color = RGB(255, 0, 0)
End If
If (Target. Value = "CERRADO") Then
Rows(Target. Row & ":" & Target. Row). Interior. Color = RGB(0, 153, 0)
End If
If (Target. Value = "ABIERTO") Then
Rows(Target. Row & ":" & Target. Row). Interior. Color = RGB(255, 153, 0)
End If
End Sub

Esto funciona bien pero necesito que solo coloree las celdas de la columna "A" a la "Q" si se cumple alguna de las tres condiciones no que coloree toda la fila incluso aquellas celdas que no estan en uso.

Lo otro que necesito es que el color aparesca automaticamente al cargar información a una nueva fila, actualmente tengo que dar doble clic (o presionar F2) sobre la celda que cumple la condición y solo entonces aplica el Macro en toda la fila.

Y por último necesito que cuando el resultado sea "VENCIDO" no solo se coloree las celdas ya mencionadas si no también las letras o numeros de esas celdas aparezcan en negrita y en color blanco.

Uso el excel 2007.

De antemano muchisimas gracias por tan valioso apoyo nuevamente, si me falto agregar detalles o no me explique correctamente, fabor de hacermelo saber para corregir.

Reciban Cordiales Saludos.


Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 30/09/2011

Hola! Alberto. Comienza por reemplazar:

Rows(Target. Row & ":" & Target. Row)

por:

Cells(Target. Row, "A"). Resize(, 17)

Saludos, Cacho R.

Alberto Pérez
Baja California, Méx...
Escrito por Alberto Pérez
el 03/10/2011

Cacho,


Mil gracias, Excelente! Ya quedo esta parte.

Lo otro que necesito es que el color aparesca automaticamente al cargar información a una nueva fila, actualmente tengo que dar doble clic (o presionar F2) sobre la celda que cumple la condición y solo entonces aplica el Macro en toda la fila.

Y por último necesito que cuando el resultado sea "VENCIDO" no solo se coloree las celdas ya mencionadas si no también las letras o numeros de esas celdas aparezcan en negrita y en color blanco.

De antemano mil gracias por la prontitud y eficacia de tu respuesta.

Saludos.

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 03/10/2011

Alberto: te propongo que razonemos juntos...

Dices: - "... Lo otro que necesito es que el color aparesca automaticamente al cargar información a una nueva fila..."

Normalmente hablamos de "nueva fila" respecto a una fila que no contiene información. Tu macro se está fijando en la columna G de la nueva fila y la encuentra vacía (porque es nueva, precisamente):

Entonces: ¿De qué color deberían rellenarse las celdas de la nueva fila en tal caso?

Saludos, Cacho R.

Alberto Pérez
Baja California, Méx...
Escrito por Alberto Pérez
el 05/10/2011

Cacho,

Disculpa por no ser tan especifico, lo que pasa es que como intente explicar anteriormente, para que se aplique el Macro tengo que dar doble sobre la celda que cumple la condición, obviamente hablamos de una fila con datos.

Entonces mi pregunta es, si existe alguna posibilidad de que esto se haga automatico, es decir sin la necesidad del doble Clic.


Muchas gracias, de antemano.


Saludos.

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 05/10/2011

¿Y por qué no intentas con Formato condicional, en lugar de una macro?...

Si no sabes implementarlo pues sube una muestra de tu hoja al Foro y te lo muestro.

Saludos, Cacho R.

Alberto Pérez
Baja California, Méx...
Escrito por Alberto Pérez
el 26/10/2011

Mil disculpas por la tardanza, tuve algunos inconvenientes.

Muchisimas gracias por tu valiosa ayuda cacho ha sido de mucho beneficio para mi tus atinadas respuestas.


Hasta pronto, recibe cordiales saludos.