返回列表 上一主題 發帖

請問一個圖表隨時間步進的一個vba問題

本帖最後由 GBKEE 於 2016-10-2 10:37 編輯

回復 3# c_c_lai

DDE 的指定輸入欄位資料匯入後值的異動,Worksheet_Calculate 是會被觸動的

回復 4# laieven
試試看
  1. Option Explicit
  2. Private Sub Worksheet_Calculate()
  3.     Dim NowDateTime, nowTime, startTime, stopTime, t As Integer
  4.     Dim tr As String
  5.     'Application.ScreenUpdating = False
  6.     NowDateTime = Now '現在的時間值, 去掉整數部份,
  7.     nowTime = (NowDateTime - Int(NowDateTime)) '得到現在的時間值
  8.     startTime = Range("A2") '開盤時間, 例如: "09:00:00 AM"
  9.     stopTime = Range("A3")  '收盤時間, 例如: "01:30:00 PM"
  10.     If nowTime <= startTime Then '尚未開盤
  11.                 Exit Sub
  12.     ElseIf nowTime > stopTime Then '已經收盤
  13.                 Exit Sub
  14.     ElseIf Range("B2") <> "-" And Range("B2") <> "###" Then '清盤的狀態, 不取其資料
  15.            '     xy = Int((nowTime - startTime) * 1440) + 1   '每差 300 秒就換一列
  16.            '     Range("g1").Value = xy
  17.            '     Range("g2").Value = xy + 59

  18.         t = Application.Text(Time - [A6], "[M]") + 1  '計算間格的分鐘
  19.         Range("B5").Offset(t).Resize(, 4) = Range("B2:E2").Value
  20. End If
  21. 'Application.ScreenUpdating = True
  22. Application.StatusBar = Time
  23. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 人的心地是一畦田,土地沒有播下好種子,也長不出好的果實。 -
返回列表 上一主題