Parpadeo de celda programado en excel

Suponiendo que tengo estas cuatro celdas como si fuera un partido entre equipo Alfa y equipo Beta, y quiero que cuando cambie el marcador (cualquiera de los dos marque un gol) la celda B2 o C2 parpadee x segundos y se pare solo el parpadeo... ¿cómo podría hacerse?

1 Respuesta

Respuesta
3

[Hola

Hay al menos dos formas:

- Usar Application. Ontime

- Usar la funcion "Sleep" de la API de Windows

Yo prefiero la segunda ya que es más "estable" y no afecta otros libros como puede ocurrir con la primera.

Por cierto, para que sea automático hay que usar el evento "Change" de la hoja. Pega esto en el módulo de la hoja en la que deseas el efecto:

Option Explicit
#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer
If Target.Address = "$B$2" Or Target.Address = "$C$2" Then
    For x = 1 To 25
        Target.Interior.ColorIndex = x
        DoEvents
        Sleep 300
    Next x
    Target.Interior.ColorIndex = 0
End If
End Sub

 En el ejemplo uso 25 colores y cada parpadeo dura 300 mili segundos (1 segundo = 1000 mili segundos), ya tú ajústalo al tiempo y colores que prefieras.

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas