【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

http://oshiete1.goo.ne.jp/qa3135998.html
↑前の質問

質問ばかりですいません

今度は信号機の表示にあわせてイメージを動かしたいのですが、
Private Sub Timer2_Timer()
Timer2.Tag = CStr(Val(Timer2.Tag) + 1)
x = -500
y = 300
Select Case Timer2.Tag
Case "6" To "11" ←の間は初期位置にイメージを戻したい
Image1.Left = 7560
Image1.Top = 3000
Case Else
Image1.Left = Image1.Left + x
Image1.Top = Image1.Top + y
Timer2.Tag = "0"
End Select
と入力してもまったく初期位置に戻らなく、移動を続けてしまいます
。何度もしつこくてすいませんが、誰か詳しい方お願いします

A 回答 (1件)

Timer2.Tagがどのような値になるか考えて見ましょう



デザイン時に Tagに何も設定されてないのであれば
最初の実行文で "0"が代入されます
となると Case "6" to "11" の条件に合いませんので
Case Else節が実行されます
このElse節の最後で "0"を代入してしまっているので
次回にも "1"なので"6"と"11"の条件に合わないためElse節しか実行されません

よって修正するには
Case "6" to "11"節の最後で
Timer2.Tag="0"
を実行

Else節の Timer2.Tag="0" は削除またはコメントアウトしましょう
    • good
    • 0
この回答へのお礼

解決できました。ありがとうございました!

お礼日時:2007/07/09 00:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報