電子書籍の厳選無料作品が豊富!

Sub 練習2()
Dim i As Long
Dim j As Long

For i = 1 To 20
j = i + 20
Cells(i, 1).Value = j
Next
End Sub

' Application.OnTime Now + TimeValue("00:00:05")の一文をいれて 5秒間隔でFOR文を動かしたいのですが考え方がわからずうまく動きません 完成形だとどの様な構文か教えてください。イメージとしてはセルに数字が入ったら5秒待って次の下のセルに+1の数字が入るのを繰り返すような

A 回答 (2件)

>イメージとしてはセルに数字が入ったら5秒待って次の下のセルに+1の数字が入るのを繰り返すような



このような場合は
Application.OnTime ではなく
Application.Wait を使用するのが良いかと。

下記がその例です。
Sub 練習2()
Dim i As Long
Dim j As Long

For i = 1 To 20
j = i + 20
Cells(i, 1).Value = j
Application.Wait Now() + TimeValue("00:00:05")
Next
End Sub
    • good
    • 1
この回答へのお礼

Application.Wait ありました。VBAの本を読んだのですが忘れていました。
ゲームを作る段階での練習でつまずいてこまっていたのですごく助かりました。

お礼日時:2025/02/09 09:00

こんな感じ?


ちなみに、どんなシーンで使うんですか?

Option Explicit
Dim i As Long

Sub 練習2()

i = i + 1
If i > 20 Then Exit Sub

Cells(i, 1).Value = i + 20
Application.OnTime Now + TimeValue("00:00:01"), "練習2"

End Sub
    • good
    • 1
この回答へのお礼

A列が自動的に数字を発生してB列の適当な列に数字を入れておいてA行とB行が一致したらマウスをクリック もしくはボタンを押すようなゲーム。
yahooゲームのワニワニパニックみたいなゲームなのですが動きが速すぎるので自作で速度調整できる簡単なものと思って、すでに半年以上かかって今この段階です。非常に助かりました。ありがとうございました。

お礼日時:2025/02/09 08:48

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A