2016-11-03 9 views
0

私は以下のコードを使用しています...なぜ私の形が隠れていないのですか?

Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) 
Sub blink() 
    Sleep 500 
    ActiveSheet.Shapes("the_shape").Visible = False 
    Sleep 500 
    ActiveSheet.Shapes("the_shape").Visible = True 
End Sub 

私は何かが足りないのですか?

+0

完全な文章が読みやすくなります。 – wonko79

答えて

1

これはかなり奇妙です。 DoEventsを追加すると問題が解決しました。私は、SleepがExcelにシェイプを隠す機会がある前にスレッドを一時停止していると推測しています。

Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) 

Sub blink() 
    Sleep 500 
    ActiveSheet.Shapes("the_shape").Visible = False 
    DoEvents 
    Sleep 500 
    ActiveSheet.Shapes("the_shape").Visible = True 
End Sub 
+0

ありがとうございます。はい、かなり奇妙ですが、あなたの答えはうまくいきました。 – LanDi

関連する問題