Cargando

Excel_Resaltar celda (texto rojo) pero en función del valor de otra celda




Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 28 agosto 2023 - 11:49

Necesito resaltar una celda en un color determinado pero no en función del valor de dicha celda si no de otra. 

En el ejemplo, quiero resaltar la celda en amarillo (C6) en función del valor de la celda de arriba (C5), para que cuando C5=B2, la celda C6 tenga el texto en ROJO.

 

¿Hay alguna función, que no sea el formato condicional, para aplicar el color a una celda si se cumple una determinada condición (que otra celda tenga un determinado valor)?

 

Gracias

 

Resaltar celda en función del valor de otra.JPG Resaltar celda en función del valor de otra.JPG ,

 

  


  • ¿Tienes la misma pregunta? Yo también
  • Volver arriba

 

Publicado 29 agosto 2023 - 20:13

Sí, puedes hacer esto mediante el uso de macros en VBA. Usando VBA, puedes escribir una pequeña rutina que verifique el valor de una celda y, en función de ese valor, aplique formato a otra celda.

 

Vamos a hacerlo:

 

1. Abre tu libro de Excel y presiona `ALT` + `F11` para abrir el Editor VBA es lo que suelo usar yo para abrirlo.

 

2. En el Explorador de Proyectos, haz clic derecho en la hoja donde quieres aplicar esta función y selecciona "Ver Código". Luego será sencillo pegando el codigo que te digo ahora.

 

3. Copia y pega el siguiente código:

Private Sub Worksheet_Change(ByVal Target As Range)
  ' Verificar si la celda modificada es C5
  If Not Intersect(Target, Me.Range("C5")) Is Nothing Then
            ' Si C5 es igual a B2, entonces aplicar el color rojo al texto de C6
      If Me.Range("C5").Value = Me.Range("B2").Value Then
          Me.Range("C6").Font.Color = RGB(255, 0, 0) 'Color Rojo
      Else
          Me.Range("C6").Font.Color = RGB(0, 0, 0) 'Color Negro
      End If
        End If
End Sub

4. Ahora guardalo y cierra el Editor VBA logicamente.

 

5. Vuelve a Excel y prueba modificando el valor de la celda C5. Si C5 es igual a B2, C6 se mostrará en rojo. Creo que te será de mucha ayuda.

 

Este código utiliza el evento `Worksheet_Change` que se dispara cada vez que se realiza un cambio en la hoja. Si el cambio se realiza en la celda C5, verifica su valor y, en función de ello, cambia el color del texto de la celda C6. Espero que te sirva mi solucion. Saludos amigo.




X