Formato condicional-reglas que se multiplican automáticamente

sita1 Mensajes publicados 2 Estado Miembro -  
 max -
Hola,

Tengo una hoja de Excel con un formato condicional en el que seleccioné un rango (toda la columna A) y agregué varias reglas, por ejemplo, texto que contiene A en rojo, texto que contiene B en verde, y así sucesivamente... Sin embargo, cuando copio/pego o inserto una nueva fila, esto me agrega una nueva regla de formato condicional y cambia el rango de la regla ya existente. ¿Cómo evitar esto, ya que si cada vez que agrego una fila se crea una nueva regla, al final tendré 200 reglas y dejará de funcionar...?
Segunda pregunta: ¿es posible tener una especie de leyenda para los formatos condicionales? Es decir, tener celdas de modelo y que una fórmula haga que cada vez que el texto "A" esté en una celda, adopte el formato de la celda de referencia en la leyenda?

2 respuestas

  1. via55 Mensajes publicados 14393 Fecha de registro   Estado Miembro Última intervención   2 759
     
    Hola

    Una solución: Aplicar el formato condicional no a la zona sino a toda la columna (colocándose sobre la letra de la columna) la fórmula en el gestor de reglas será entonces =$A:$A
    una adición de fila no añadirá fórmula

    Para las celdas de leyenda se puede proceder de la misma manera:
    en otra hoja crear tantas columnas y reglas aplicadas a la columna entera como modelos desees

    Para copiar el formato de un modelo colócate sobre el encabezado de columna
    toma la herramienta de copiado de formato (el pincel) y regresa a la hoja 1 y haz clic sobre el encabezado de la columna donde aplicar el formato

    Atentamente
    1
  2. sita1 Mensajes publicados 2 Estado Miembro
     
    ¡Muchas gracias por tu respuesta! Lo siento, creo que me expresé mal. En realidad, estoy aplicando el formato condicional a toda la columna y tengo bien $A:$A en el gestor de reglas... pero no funciona. Mientras tanto, me he dado cuenta de que en Excel 2007 bajo XP no hay problema, pero con Excel 2010 se multiplican las fórmulas....

    para las celdas de referencia... no lo entendí :-/
    0
    1. via55 Mensajes publicados 14393 Fecha de registro   Estado Miembro Última intervención   2 759
       
      Ok, he probado en 2007 y funciona para las columnas pero no para los rangos
      por otro lado, no tengo 2010.
      Para las celdas de referencia te decía que hicieras una por columna en otra hoja y que copiaras el formato de esas columnas para aplicarlo en la primera hoja, pero si Excel 2010 multiplica las fórmulas en todos los casos, eso no resolverá tu problema
      Seguramente habría que abandonar el MFC y pasar a un formato mediante macro en VBA

      Aquí te propongo algo:

      En la columna A de la Hoja2 introduces todos tus valores y coloreas cada celda, serán las celdas de referencia

      Abres el editor (ALT F11) y seleccionas Hoja1, y en la ventana de la derecha introduces el siguiente código:

      Dim c(50) as Integer 'Dimensiona un array de 50 celdas para los colores, a adaptar si es necesario

      Sub codigoscolor()
      der2 = Sheets("Hoja2").Range("A1").End(xlDown).Row 'última línea vacía columna A Hoja2
      For n = 1 To der2
      c(n) = Sheets("Hoja2").Range("A" & n).Interior.ColorIndex ' inserta el código de color de cada celda en un array
      Next
      der1 = Sheets("Hoja1").Range("A1").End(xlDown).Row ' última línea vacía columna A Hoja1
      For n = 1 To der1 'bucle sobre las líneas Hoja1
      For x = 1 To der2 ' bucle sobre las líneas Hoja2 y si los valores coinciden aplica el color
      If Sheets("Hoja1").Range("A" & n).Value = Sheets("Hoja2").Range("A" & x).Value Then MsgBox ("OK"): Sheets("Hoja1").Range("A" & n).Interior.ColorIndex = c(x): Exit For
      Next x
      Next n
      End Sub

      Cada vez que llames a la macro, las celdas de la columna A de la Hoja1 serán recoloreadas en función de los modelos de la Hoja2 (que puedes modificar a tu antojo)

      Saludos
      0
    2. max
       

      Hola,

      Encontrado en otro foro (y probado porque tengo el mismo problema), hay que hacer un pegado especial (valor o fórmula según el caso).

      Que tengas un buen día.

      0