標題:
[發問]
請教當資料即時變動後,如何自動即時加總?
[打印本頁]
作者:
pures
時間:
2013-3-20 22:06
標題:
請教當資料即時變動後,如何自動即時加總?
本帖最後由 pures 於 2013-3-20 22:08 編輯
請問當某一儲存格如DDE股票單量(A1),當單量變動時,
才即時加總這單量儲存格,變成總量B1儲存格,
單量不斷改變,總量一直加總(B1=B1+A1)
請教EXCEL VBA要如何寫,謝謝指教^^。
作者:
GBKEE
時間:
2013-3-21 15:07
回復
1#
pures
工作表的儲存格有輸入時:工作表的預設觸動是件程式
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then '單量(A1)
Application.EnableEvents = False
Range("B1") = Range("B1") + Target '總量一直加總(B1=B1+A1)
Application.EnableEvents = True
End If
End Sub
複製代碼
[attach]14417[/attach]
作者:
pures
時間:
2013-3-21 19:39
本帖最後由 pures 於 2013-3-21 19:40 編輯
感恩GBKEE大大的回覆,
小弟照GBKEE大的程序做,A1儲存格有跳動,但B1的儲存格沒去加總,
圖示如下,不知哪裡有問題,煩請大大幫忙,謝謝您了^^。
[attach]14419[/attach]
作者:
GBKEE
時間:
2013-3-21 21:01
回復
3#
pures
儲存格的
DDE
會引發工作表的重算,一樣是工作表的預設事件
Option Explicit
Private Sub Worksheet_Calculate()
Range("B1") = Range("B1") + [A1] '總量一直加總(B1=B1+A1)
End Sub
複製代碼
作者:
pures
時間:
2013-3-21 22:50
感恩GBKEE大大的回覆,
可以運作了,非常謝謝您^^。
作者:
twispin
時間:
2015-4-13 17:28
本帖最後由 twispin 於 2015-4-13 17:29 編輯
我完全按照GBKEE大大的做可是沒辦法耶(我是用EXCEL2003)
開始執行以後,他不會等DDE儲存格有變動時才加總一次
而是每一秒加了幾百次一直加
我可以指定某一個DDE儲存格有變動時才加總嗎?該怎麼做?謝謝!!
Option Explicit
Private Sub Worksheet_Calculate()
Range("B1") = Range("B1") + [A1] '總量一直加總(B1=B1+A1)
End Sub
複製代碼
作者:
twispin
時間:
2015-4-13 17:32
今天為了這個搞定這個檔案
一開始以為是EXCEL本身和win8的問題
到最後連win8都重灌了,結果還是一樣,只要開這個檔案就當機
後來把上面那段程式碼刪掉才搞定...
作者:
twispin
時間:
2015-4-13 20:08
我自己發現問題點了...
假設DDE輸出的資料在sheets1的A1
那麼就只能在sheets1的頁面寫If Target.Address(0, 0) = "A1"
如果我在sheets2的A1寫入"=sheets1 !A1",雖然資料還是會跳動
但是對sheets2來說他似乎不會觸動工作表重算
所以就算shets2有寫If Target.Address(0, 0) = "A1"也沒用
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)