¿Quisiera saber si es posible ver el contenido del texto o números de una celda de forma intermitente, más o menos que se vea y no se vea a intervalos cortos de menos de un segundo? Y si esto es posible saber también si se puede hacer lo mismo con el color de relleno de una celda.
1 respuesta
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
Holarsmd! Digamos primero que MS Excel no cuenta con opciones de animación de texto como las que tiene MS Word en su menú de "Formato" | "Fuentes" | "Animación" Sin embargo es posible usar una macro para que lo haga durante un tiempo. El siguiente procedimiento me fue proporcionado, hace algún tiempo, por el notable experto "Valedor" -así que suyo es el mérito- y creo que se acerca bastante a lo que solicitas (otra vez, considerando que esta función no es nativa de MS Excel). Si estas de acuerdo, activa el editor de Visual Basic (presiona Alt+F11), inserta un nuevo módulo ("Insertar", "Módulo") y pega el siguiente código: Public Sub ParpadeaNoAdyacentes() 'Efecto de parpadeo para celdas no adyacentes 'autor: Mauricio Baeza (aka VALEDOR) Dim Pausa As Single Dim Inicio As Single Dim Fin As Single Dim Contenido() As Variant Dim rDatos As Range, c As Range Dim Mostrar As Boolean Dim co1 As Integer 'Indica el rango a aplicar el efecto: Rangoflash = "B6:D9" Range(Rangoflash).Select Selection.SpecialCells(xlCellTypeConstants, 23).Select Pausa = 0.25 Fin = Timer + 5 Set rDatos = Selection ReDim Contenido(rDatos.Count - 1) For Each c In rDatos Contenido(co1) = c.Value co1 = co1 + 1 Next c co1 = 0 Mostrar = True Do Inicio = Timer Do While Timer < Inicio + Pausa DoEvents Loop If Mostrar Then Application.ScreenUpdating = False For Each c In rDatos c.Value = Contenido(co1) co1 = co1 + 1 Next c Application.ScreenUpdating = True co1 = 0 Mostrar = False Else Mostrar = True rDatos.ClearContents End If DoEvents Loop While Timer < Fin Application.ScreenUpdating = False For Each c In rDatos c.Value = Contenido(co1) co1 = co1 + 1 Next c Application.ScreenUpdating = True Erase Contenido Set rDatos = Nothing End Sub Tal vez esto resuelva tu problema. Ojalá así sea. Un abrazo! Fernando