Я пытаюсь переместить ярлык из одной ячейки в другую. Я выяснил смещение положения и создал 3 «анимации», как их называют аниматоры. Но когда я запускаю код, Метка не отображается до тех пор, пока не закончится суб. Если я закомментирую последнюю позицию, ярлык будет в правильном месте. Как сделать так, чтобы Excel обновил экран, чтобы показать метку, прежде чем переместить ее снова?
xo и yo - это целые числа -1, 0 или 1. playerLocation - это диапазон, также может быть ActiveCell.
Sub moveAnimation()
Dim moveAnim As OLEObject
Set moveAnim = Worksheets(currentSheet).OLEObjects(currentSheet & "player")
moveAnim.Left = playerLocation.Left - 0.5 + yo * (playerLocation.Width / 4)
moveAnim.Top = playerLocation.Top + 0.25 + xo * (playerLocation.Width / 4)
Sleep (25)
moveAnim.Left = playerLocation.Left - 0.5 + yo * (playerLocation.Width / 2)
moveAnim.Top = playerLocation.Top + 0.25 + xo * (playerLocation.Width / 2)
Sleep (25)
moveAnim.Left = playerLocation.Left - 0.5 + yo * 3 * (playerLocation.Width / 4)
moveAnim.Top = playerLocation.Top + 0.25 + xo * 3 * (playerLocation.Width / 4)
Sleep (25)
moveAnim.Left = 0
moveAnim.Top = 0