Jump to content

Archived

This topic is now archived and is closed to further replies.

Josemariarcas

Cambiar color de celda según el valor de otra celda

Recommended Posts

Buenas tardes amigos de AyudaExcel, otra vez necesito de vosotros, necesito como hacer una macro: Si el valor de cualquier celda entre ("C20:G20") si es >que la celda "$AH$20"el color del rango de celdas antes citado sean o sea de color fondo rojo y letra amarillo, pero si fuera cualquier valor del rango < que el valor de la celda "$AH$20" el color de la celda ó celdas sea con fondo verde y letra en rojo .


Muchas gracias de antemano
y un fuerte saludo
Jose Maria

Link to post
Share on other sites

Yo lo he visto así:

Sub Colorines()

'Esto también puede realizarse con formato condicional
'o con una macro de evento

Range("C20:G20").Font.ColorIndex = xlAutomatic
Range("C20:G20").Interior.ColorIndex = xlNone
For Each celda In Range("C20:G20")
   If celda > [AH20] Then
      celda.Font.Color = vbYellow
      celda.Interior.Color = vbRed
   End If
   If celda < [AH20] Then
      celda.Font.Color = vbRed
      celda.Interior.Color = vbGreen
   End If
Next
End Sub

 

Link to post
Share on other sites

Buenas noches amigos, perdonar mi tardanza en responderos pero no podía entrar por problemas de contraseña, y gracias a que he podido hacerlo ya estoy con vosotros. Haplox es como dice Antoni, tal vez no me he explicado bien. Pero con lo expuesto por Antoni me esta funcionando, pero ahora  tengo que adaptarlo a lo que yo necesito, ya os comento el final.

Un fuerte saludo muy agradecido a los dos.

Jose Maria Arcas

Link to post
Share on other sites

Otra vez dando la lata, como se dice por acáAntoni, es mejor hacerlo con Formatos condicionales, por que cualquier valor que cambie en rango ("C20:G20"), al instante cambia el color a rojo ó a verde, con la macro hay que activar esta cada vez que se trabaje por los posibles cambios. (los formatos condicionales me ocupan mas que con la macro que tu has hecho, pero creo que no hay posibilidad), ó si la hay no la sé.

Un saludo Jose Maria

Link to post
Share on other sites

@Josemariarcas , si pones el código en el evento de la hoja dónde lo necesites, no tienes que ejecutar lamacro. Con permiso de @Antoni , ya que es el que ha pesto el código, te dejo la solución.
 

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [AH20]) Is Nothing Then Exit Sub

Range("C20:G20").Font.ColorIndex = xlAutomatic
Range("C20:G20").Interior.ColorIndex = xlNone

For Each celda In Range("C20:G20")
   If celda > Target Then
      celda.Font.Color = vbYellow
      celda.Interior.Color = vbRed
   End If
   If celda < Target Then
      celda.Font.Color = vbRed
      celda.Interior.Color = vbGreen
   End If
Next

End Sub

 

Link to post
Share on other sites

Otra vez dando la lata, como se dice por acáAntoni, es mejor hacerlo con Formatos condicionales, por que cualquier valor que cambie en rango ("C20:G20"), al instante cambia el color a rojo ó a verde, con la macro hay que activar esta cada vez que se trabaje por los posibles cambios. (los formatos condicionales me ocupan mas que con la macro que tu has hecho, pero creo que no hay posibilidad), ó si la hay no la sé.

Un saludo Jose Maria

Link to post
Share on other sites
Hace 10 minutos , Josemariarcas dijo:

Otra vez dando la lata, como se dice por acáAntoni, es mejor hacerlo con Formatos condicionales, por que cualquier valor que cambie en rango ("C20:G20"), al instante cambia el color a rojo ó a verde, con la macro hay que activar esta cada vez que se trabaje por los posibles cambios. (los formatos condicionales me ocupan mas que con la macro que tu has hecho, pero creo que no hay posibilidad), ó si la hay no la sé.

Un saludo Jose Maria

¿Otra vez? :huh:

¿No has visto mi solución? (con permiso de antoni... espero :rolleyes:)

Link to post
Share on other sites

Haplox, Ahora estoy cambiando a formatos condicionales, pero estudiare tus aportación y ya te lo comento, muchas gracias a los dos.

 Os digo porque me he decido por los formatos, el (C20 al G20) es un contador de lunes a viernes y hago lo mismo con (I20 al H20) que son sabado y domingo estas celdas hacen una suma de cada celda suma su columna por lo que los valores de suma (C20 al G20) quiero que sea el de la celda "AH20" lo mismo que los sábados y domingos su valor debe ser el de la celda "AI20" por lo que si el valor de la celda correspondiente no es el indicado cambia de color. Esto es solo una semana por lo que hay que repetirlo es el resto de semanas que tiene el mes. tengo que hacer 21 macro  siete que el mes empiece por lunes, martes ... y domingo para el mes que tenga 31 días , otras siete igual para el mes de 30 días y otras siete para el mes de 29 días. y así me sale un contador de días.

En ello estoy haber si lo termino pero que lo tuyo no lo olvido.

Un saludo 

y muchas gracias.

 

Link to post
Share on other sites
Hace 3 horas, Josemariarcas dijo:

Haplox, Ahora estoy cambiando a formatos condicionales, pero estudiare tus aportación y ya te lo comento, muchas gracias a los dos.

 Os digo porque me he decido por los formatos, el (C20 al G20) es un contador de lunes a viernes y hago lo mismo con (I20 al H20) que son sabado y domingo estas celdas hacen una suma de cada celda suma su columna por lo que los valores de suma (C20 al G20) quiero que sea el de la celda "AH20" lo mismo que los sábados y domingos su valor debe ser el de la celda "AI20" por lo que si el valor de la celda correspondiente no es el indicado cambia de color. Esto es solo una semana por lo que hay que repetirlo es el resto de semanas que tiene el mes. tengo que hacer 21 macro  siete que el mes empiece por lunes, martes ... y domingo para el mes que tenga 31 días , otras siete igual para el mes de 30 días y otras siete para el mes de 29 días. y así me sale un contador de días.

En ello estoy haber si lo termino pero que lo tuyo no lo olvido.

Un saludo 

y muchas gracias.

 

contador1.xlsm

Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy