iT邦幫忙

0

excel 迴圈紀錄

想請問大大,我使用excel寫時間迴圈但是碰到跨日問題
B9 =60
B11 =NOW()-MOD(NOW(),B9/86400
(儲存格)

If Timer - Range("AB9") >= Range("B9") Or Range("B9") = 0 Then '判斷紀錄時間
Range("B12:H312") = Range("B11:H311").Value '時間序列更價紀錄
Range("D11:F11") = "" '清空待寫新 K 線第一價
Range("AB9") = Timer - Timer Mod Range("B9") '計時寫入 K 線時間序列
End If

一整天時間正常,但是整點過後跨日就無法紀綠

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2019-02-22 09:30:00
最佳解答

Timer 回傳的是「一天中從00:00開始到目前的秒數」,範圍為 0-86,400(或86,399)

程式中計算「每60秒」的作法是
1.先用「累積秒數」記錄「幾點幾分」-->Range("AB9") = Timer - Timer Mod Range("B9")
2.再用 Timer(目前秒數) - Range("AB9")(累積秒數) > Range("B9")(60)做判斷

所以
當半夜11點多時
Range("AB9")的數字已經趨近於 86,400
只要一跨日
Timer 歸零
那麼
Timer(2,266) - Range("AB9")(86,386) > Range("B9")(60) 的情況
就不會發生

程式也就不會動作了

我要發表回答

立即登入回答