Изменение цвета фигуры каждые 5 секунд в Excel с помощью VBA

Изменение цвета фигуры каждые 5 секунд в Excel с помощью VBA

Здравствуйте, я ищу код VBA для изменения цвета фигуры в Excel с помощью VBA каждые 5 секунд с момента нажатия кнопки. Имя моей фигуры — «Прямоугольник 1».

решение1

Назначьте кнопку для запускаСтартТаймер:

Public RunWhen As Double
Public Const cRunIntervalSeconds = 5
Public Const cRunWhat = "qwerty"

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
     schedule:=True
End Sub

Sub StopTimer()
   On Error Resume Next
   Application.OnTime earliesttime:=RunWhen, _
       procedure:=cRunWhat, schedule:=False
End Sub

Sub qwerty()
    Dim s As Shape
    Set s = ActiveSheet.Shapes("Rectangle 1")
    s.Fill.ForeColor.SchemeColor = Application.WorksheetFunction.RandBetween(1, 20)
    Call StartTimer
End Sub

Связанный контент