Re: [VBA ] 關於excel計時器問題

看板Visual_Basic作者 (Dio)時間17年前 (2007/03/29 23:43), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #162zwvge (Visual_Basic)
文章代碼(AID): #162zwvge (Visual_Basic)