VBA中pictureBox在持续位移时,保持帧动画(延迟LoadPicture)?

请教大神:
1.将一个PictureBox做成帧动画(用timeGetTime来延迟LoadPicture从而逐帧实现)
2.将这个PictureBox进行持续位移(用timeGetTime来延迟持续改变其Left值)

那么问题来了:
位移时,原本进行的帧动画会暂停.
或者帧动画时,原来进行的位移会暂停
各自都使用了DoEvent也没用
请问有解决方案吗?

不能贴附件

Private Declare Function timeGetTime Lib "winmm.dll" () As Long

Sub Img1_LoadPic()
Dim Cycle As Integer
Dim PicNum As Integer
Dim Savetime As Double

For Cycle = 1 To 10
        For PicNum = 1 To 3
                Image1.Picture = LoadPicture(ThisWorkbook.Path & "\IMG\" & PicNum & ".gif")
                DoEvents
            Savetime = timeGetTime
            While timeGetTime < Savetime + 500
                DoEvents
            Wend
        Next
Next

End Sub

这是我先实现的帧动画

Sub Img1_Mov()
Dim Savetime As Double
Dim NowMovNum As Integer
Dim AddMovNum As Integer
Dim AddValue As Integer
For AddValue = 1 To 5
NowMovNum = Image1.Left
AddMovNum = NowMovNum + AddValue
Image1.Left = AddMovNum
DoEvents

        Savetime = timeGetTime
        While timeGetTime < Savetime + 500
        DoEvents
        Wend
    Next

End Sub

这是我实现的picturebox持续位移

两个同时运行时会中断另一个
请问有解决方案可以两个sub同时产生效果么?
大神教我怎么改~~~

问题的关键是移动PictureBox造成了gif的重绘,打乱了它的播放,必须放弃使用PictureBox移动这个方法,改为直接连续绘制/擦除gif在窗口中,你需要首先分解gif的帧,然后绘制。

在vba里模拟动画播放多费劲啊,你直接上个webbrowser多省事啊。