Board logo

標題: [發問] 請問有關分時明細的製作??(麻煩幫忙修改) [打印本頁]

作者: Brandy    時間: 2013-1-11 10:23     標題: 請問有關分時明細的製作??(麻煩幫忙修改)

以下我做出了兩個
第一個是每秒抓一次資料(我用的是元大YESWIN的dde)
[attach]13878[/attach]
第二個是儲存格有變動就複製然後在第二頁貼上
[attach]13880[/attach]

我的目的是做出像券商軟體的分時明細
第一個每秒抓可以正常執行,但是每秒抓的資料太多,很多重複沒用的資料且很耗資源
第二個是只要儲存格有變動,我想應該是依據成交量有變化就記錄,手動在第一頁G7依序打入1,2,3,4,5
則在第二頁也會依序產生一列一列的剛剛打的數字,但是套上券商的dde就不能動了...

我想第二個方法應該能避免抓到重複沒用的資料,請問要如何改呢??
在盤中分時明細可以輸出到excel,但是分時明細是一直在跳,每次都要手動輸出太累了,所以我才想能不能像券商軟體一樣即時更新
謝謝
作者: Brandy    時間: 2013-1-11 10:50

抱歉打錯,上文中的G7應該是G2才對
作者: vic    時間: 2015-7-6 13:07

回復 1# Brandy

想請教有高手知道嗎? 因為我也想知道XD
作者: bobomi    時間: 2015-7-6 14:24

好精簡的方法
繼續沿用你的精簡碼

' 放到 Sheet1 裡面

Private Sub Worksheet_Calculate()
  A = Sheet2.Range("A" & Rows.Count).End(xlUp).Offset(1)
  If A = "" Then A = Time - TimeValue("00:00:01")
  If Time > A Then
     Sheet2.Range("A" & Rows.Count).End(xlUp).Offset(1) = Time
     Sheet2.Range("B" & Rows.Count).End(xlUp).Offset(1) = Sheet1.[A2]
     Sheet2.Range("C" & Rows.Count).End(xlUp).Offset(1) = Sheet1.[B2]
     Sheet2.Range("D" & Rows.Count).End(xlUp).Offset(1) = Sheet1.[C2]
     Sheet2.Range("E" & Rows.Count).End(xlUp).Offset(1) = Sheet1.[D2]
     Sheet2.Range("F" & Rows.Count).End(xlUp).Offset(1) = Sheet1.[E2]
     Sheet2.Range("G" & Rows.Count).End(xlUp).Offset(1) = Sheet1.[F2]
     Sheet2.Range("H" & Rows.Count).End(xlUp).Offset(1) = Sheet1.[G2]
  End If
End Sub
作者: GBKEE    時間: 2015-7-7 05:45

回復 1# Brandy


    可參考 : 詢問一個紀錄開高低收價的VBA問題




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)