標題:
請問一個圖表隨時間步進的一個vba問題
[打印本頁]
作者:
laieven
時間:
2016-9-27 18:45
標題:
請問一個圖表隨時間步進的一個vba問題
我希望做一個現貨以及期貨的價差表
數據從dde接收進來
連結到工作表1的b2和b3
每間隔一分鐘紀錄一次
並將指數會製成圖表,並且只顯示最新的60筆資料
我寫在
Private Sub Worksheet_Calculate()之下
打開後發現不會動!!!但是只要我在工作表做個刪除列的動作!!
就會正常作動!!
請問是否是因為我並不是在dde正常串接時間,所以不會正常作動
或者因為其他問題呢?
附上檔案請先進指點!!有勞了!!
作者:
jackyq
時間:
2016-9-27 19:36
刪除列 -> Worksheet_Calculate 會執行
dde動 -> Worksheet_Calculate 會執行
作者:
c_c_lai
時間:
2016-9-28 07:18
回復
1#
laieven
DDE 的指定輸入欄位資料匯入或異動, 經測試經驗 Worksheet_Change
以及 Worksheet_Calculate 都不會被觸動的。
一般解決之道,是用定時掃描方式來處理此一困惱問題。
作者:
laieven
時間:
2016-9-29 12:17
標題:
請教動態圖表範圍---->儲存格的值隨著時間變動的問題
[attach]25389[/attach]
這個値的變動是要用應到動態圖表中
讓圖表隨著時間把最新的圖表顯示出來
我的想法是可以把他寫在workshee calculate中
讓檔案一開啟就進入計算
當然圖表的數據是用dde串連進入excel中
作者:
laieven
時間:
2016-9-29 12:23
回復
3#
c_c_lai
感謝回應!!我了解了!!
早上我也測試了一下!!正常的部份是沒問題的!
剩下的問題我另外發問了
也請先進不吝指導!!感謝
作者:
GBKEE
時間:
2016-10-2 10:33
本帖最後由 GBKEE 於 2016-10-2 10:37 編輯
回復
3#
c_c_lai
DDE 的指定輸入欄位資料匯入後值的異動,Worksheet_Calculate
是會被觸動的
回復
4#
laieven
試試看
Option Explicit
Private Sub Worksheet_Calculate()
Dim NowDateTime, nowTime, startTime, stopTime, t As Integer
Dim tr As String
'Application.ScreenUpdating = False
NowDateTime = Now '現在的時間值, 去掉整數部份,
nowTime = (NowDateTime - Int(NowDateTime)) '得到現在的時間值
startTime = Range("A2") '開盤時間, 例如: "09:00:00 AM"
stopTime = Range("A3") '收盤時間, 例如: "01:30:00 PM"
If nowTime <= startTime Then '尚未開盤
Exit Sub
ElseIf nowTime > stopTime Then '已經收盤
Exit Sub
ElseIf Range("B2") <> "-" And Range("B2") <> "###" Then '清盤的狀態, 不取其資料
' xy = Int((nowTime - startTime) * 1440) + 1 '每差 300 秒就換一列
' Range("g1").Value = xy
' Range("g2").Value = xy + 59
t = Application.Text(Time - [A6], "[M]") + 1 '計算間格的分鐘
Range("B5").Offset(t).Resize(, 4) = Range("B2:E2").Value
End If
'Application.ScreenUpdating = True
Application.StatusBar = Time
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)