• ベストアンサー

Excel マクロ

c が 10 になるまで加算し続けるテキストで書いたスクリプトです c = 1 while c <= 10 if c < 10 then msgbox c else msgbox"終了します" end if wscript.sleep(500) c = c + 1 wend これをExcel上のsheet1のA1で実行させるにはどうしたらいいですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

 こういうことでしょうか? Sub TEST()  Dim c as Integer  c = 1  While c <= 10   If c < 10 Then    Range("A1").Value = c   Else    MsgBox "終了します"   End If   Application.Wait (Now + TimeValue("0:00:01"))   c = c + 1  Wend End Sub  ただし、「Excel マクロ」で 500 ミリ秒を待たせようとすると、API の [Sleep 関数] を呼ばないといけませんので、[Wait メソッド] で1秒待つことにしてあります。

joy-first
質問者

お礼

ご回答ありがとうございました。 勉強になります

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

結果的に1づつ増やすだけならFor.Nextステートメントを使う方法もアリかな Sub Test()   Dim c As Integer   Dim Start As Single   For c = 1 To 9     Worksheets("Sheet1").Range("A1").Value = c     Start = Timer     Do While (Timer - Start < 0.5): Loop '0.5秒待ち   Next   MsgBox "終了します" End Sub

joy-first
質問者

お礼

ご回答ありがとうございました。 勉強になります

関連するQ&A