Re: [VBA ] 關於excel計時器問題
※ 引述《incessantgas (熱力四射)》之銘言:
: 各位板大,想請問一個問題。就是我想要在excel的vba寫一個計時器。
: 也就是說,我想要讓excel的定位點,每2秒鐘向下跳一格。
: 有人會寫嗎?或是可以建議我該往哪邊去找資料呢?
大概有下列三種方法, 有問題再說吧 :)
Option Explicit
Dim i As Integer
'----------------------------------------
'使用 API Sleep
'----------------------------------------
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Sub Macro3()
For i = 1 To 1000
ActiveCell.Offset(1).Select
Sleep 2000
Next i
End Sub
'----------------------------------------
'使用 VBA 的 OnTime
'----------------------------------------
Public Sub Macro1()
i = 0
OnTimeTest
End Sub
Public Function OnTimeTest()
i = i + 1
If i > 1000 Then Exit Function
ActiveCell.Offset(1).Select
Application.OnTime Now + TimeValue("00:00:02"), "OnTimeTest"
End Function
'----------------------------------------
'使用Date 和 Doevents, 誤差較大
'----------------------------------------
Public Sub Macro2()
Const n As Integer = 2
Dim t As Date
For i = 1 To 1000
ActiveCell.Offset(1).Select
t = Now
While Now < t + (n / 24 / 60 / 60)
DoEvents
Wend
Next i
End Sub
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.202.197.160
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):