задержка времени приложения макроса excel на полсекунды?

Я использую следующий код vba для задержки макроса на полсекунды, но по какой-то причине эта строка кода не будет работать с чем-то меньшим, чем секунда. может кто-нибудь показать мне, где я ошибаюсь? спасибо

Эта строка - проблема, она не позволит мне вставить что-то меньше секунды. Мне нужно, чтобы это было полсекунды.

Application.OnTime Now + TimeValue("00:00:01"), "DoMarquee"


Sub DoMarquee()
    Dim sMarquee As String
    Dim iWidth As Integer
    Dim iPosition As Integer
    Dim rCell As Range
    Dim iCurPos As Integer

    'Set the message to be displayed in this cell
    sMarquee = "This is a scrolling Marquee."

    'Set the cell width (how many characters you want displayed at once
    iWidth = 10

    'Which cell are we doing this in?
    Set rCell = Sheet1.Range("M2")

    'determine where we are now with the message.
    '   instr will return the position of the first
    '   character where the current cell value is in
    '   the marquee message
    iCurPos = InStr(1, sMarquee, rCell.Value)

    'If we are position 0, then there is no message, so start over
    '   otherwise, bump the message to the next characterusing mid
    If iCurPos = 0 Then
        'Start it over
        rCell.Value = Mid(sMarquee, 1, iWidth)
    Else
        'bump it
        rCell.Value = Mid(sMarquee, iCurPos + 1, iWidth)
    End If

    'Set excel up to run this thing again in a second or two or whatever
    Application.OnTime Now + TimeValue("00:00:01"), "DoMarquee"
End Sub

person James Gayle    schedule 02.04.2015    source источник


Ответы (1)


Вы не можете использовать этот механизм менее чем за одну секунду срабатывания. Есть альтернатива. См.: Excel VBA OnTime менее 1 секунды не переставая отвечать

person cybermike    schedule 02.04.2015