NoMeSale ¡Coño!

08/05/2006 - 19:22 por navibel | Informe spam
..joe, pensé que ya lo tenía, pero no...le sale humo al Calculate y a
Change...

Un rango con nombre "MIRango" que debe poner la fuente en rojo en todas
las celdas cuyo valor cambie bien directamente (cambiar un 5 por un 2)
o indirectamente (qe el cambio provenga de una fórmula que está en
otra hoja...

..es que llevo toda la tarde buscando y dándole al coco y no me
aclaro...

Gracias por vuestra ayuda...
 

Leer las respuestas

#1 David
08/05/2006 - 22:11 | Informe spam
El problema que veo, es cómo determinar que la celda ha cambiado. La
solución que propongo, es que copies MIRango como valores a otra parte de la
hoja, y luego apliques un formato condicional para determinar si cada celda
de MIRango continúa siendo igual a su correspondiente en la otra parte de la
hoja. (Ojo, no puedes copiar a otra hoja, pues el formato condicional no te
acepta referencias a otras hojas o libros). De esta manera, cuando un dato
cambie, el formato condicional lo resaltará inmediatamente, y cuando
necesites "refrescar", sólo tienes que copiar nuevamente los datos de MIRango.

¿Complicado? ¿Tedioso? Sí, lo entiendo, pero puedes implementar un macro
que automatice el proceso.

Prueba hacer lo siguiente: (estoy suponiendo que MIRango principia en A1, y
que vas a copiar sus valores a partir de la celda AA1. En tu caso, verifica
estas dos direcciones y luego haces las correcciones necesarias donde te lo
indico).

1. Haz clic en "Herramientas" - "Macro" - "Editor de Visual Basic".

2. Haz clic en "Insertar" - "Módulo", y luego copias y pegas lo siguiente:

Sub CopiarMIRango()
Dim Celda As String
Application.ScreenUpdating = False
Celda = ActiveCell.Address
Range("MIRango").Copy
'en la siguiente línea está la dirección
'a la cual vas a pegar la copia de MIRango
Range("AA1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Range(Celda).Select
Application.ScreenUpdating = True
End Sub

3. Corrijes la dirección donde deseas pegar la copia de MIRango.

4. Haces clic en "Archivo" - "Cerrar y volver a Microsoft Excel" para salir
del Editor de Visual Basic.

Ahora, deberás elaborar un formato condicional:

1. Selecciona "MIRango".

2. En el primer formato seleccionas "Fórmula", y luego ingresas una
expresión como la siguiente:
¡<>AA1
Nota que A1 es la primera celda de MIRango, y AA1 es la primera celda de la
copia que vas a hacer.

3. Especificas un formato para resaltar las celdas modificadas.

4. Aceptas.

De aquí en adelante, cuando quieras refrescar los datos, solamente ejecutas
el macro "CopiarMIRango" (Herramientas - Macro - Macros).

Comentas cómo te fue...




"navibel" escribió:

...joe, pensé que ya lo tenía, pero no...le sale humo al Calculate y a
Change...

Un rango con nombre "MIRango" que debe poner la fuente en rojo en todas
las celdas cuyo valor cambie bien directamente (cambiar un 5 por un 2)
o indirectamente (qe el cambio provenga de una fórmula que está en
otra hoja...

...es que llevo toda la tarde buscando y dándole al coco y no me
aclaro...

Gracias por vuestra ayuda...


Preguntas similares