Parpadear

01/07/2005 - 16:59 por Ubaldo | Informe spam
Hola a todos

?Se os ocurre alguna manera de hacer que el contenido de una casilla de
Excel parpadee para llamar la atención?

Gracias
 

Leer las respuestas

#1 Héctor Miguel
02/07/2005 - 03:59 | Informe spam
hola, Ubaldo !

... alguna manera de hacer que... una casilla... parpadee para llamar la atencion?



hace poco, KL expuso una manera [yo diria... 'magistral'] de lograrlo SIN perder el beneficio del deshacer/undo/ctrl+z :)
[cosa que sucede cuando algun codigo modifica propiedades/valores/...-p.e.- de objetos 'rango'] :-(
yo [solamente] me he basado en un post de Thomas Jansen [1999] y 'ligeras adaptaciones' para [tratar de] 'adelgazarlo' :))

te expongo el ejemplo al final y... si cualquier duda... comentas?
saludos,
hector.
=1) usa [menu] formato / formato condicional... [seleccionando previamente la/s celda/ que va/n a parpadear]
-> selecciona como condicion... -> formula
-> introduce [alg]una de las siguientes formulas:
a) si no te interesa condicionar [tambien] al valor/contenido/... de dicha/s celda/s...
=residuo(segundo(ahora()),2)=0
b) si necesitas condicionar [p.e.] a que el valor de la celda (1) de la seleccion [p.e. 'A1'] sea >= 100
=(a1>0)*(residuo(segundo(ahora()),2)=0)
-> aplica [boton formato...] los formatos de tu preferencia [fuente, color, bordes, trama, etc.]

2) copia/pega las siguientes lineas en...
en un modulo de codigo 'normal' ==Public Siguiente As Date
Sub IniciarParpadeo()
Siguiente = Now + TimeSerial(0, 0, 1)
Worksheets(1).Calculate
Application.OnTime Siguiente, "IniciarParpadeo"
End Sub
Sub DetenerParpadeo(): On Error Resume Next
Application.OnTime Siguiente, "IniciarParpadeo", Schedule:=False
End Sub
en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_Open()
IniciarParpadeo
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DetenerParpadeo
End Sub

3) 'observa' que en la macro 'IniciarParpadeo' [modulo 'normal']...
hay una linea que 'dice'... ->Worksheets(1).Calculate<-
-> si a tu modelo 'le afecta' [que cada TimeSerial(hrs, min, seg)] se este re/calculando la hoja1 del libro :-((
puedes modificar dicha instruccion a... ->Application.ScreenUpdating = True<-
-> la diferencia entre una instruccion y otra... es que
con el ScreenUpdating... veras un 'parpadeo general' [constante] de la pantalla 'completa' Y del cursor/mouse :-(
con el Calculate... solo veras el [ligero] parpdeo del mouse/cursor, pero... el re/calculo del modelo podria... :-((
-> solo 'para variar'... [parece que] todo tiene sus pros y contras [decide tu 'cual es cual´] :))

Preguntas similares