返回列表 上一主題 發帖

價格紀錄的語法有寫錯嗎??

回復 72# c_c_lai
Worksheet_Calculate() 是無法判斷哪個儲存格觸發的.
39 帖 的Private Sub Workbook_Open()
中有.Names.Add xRng_Name, xRng  ''名稱定義:所有總量的Dee公式的儲存格
當Worksheet_Calculate重算事件執行時
  For Each E In Me.Names 去判斷總量有變動,則記錄下來.

回復 75# 藍天麗池
這測試是正確的,沒營業DEE不會變動,總量的下方列位測試給值,假裝總量有變動

當Worksheet_Calculate重算事件執行時
  For Each E In Me.Names  去判斷總量有變動,則記錄下來.

星期一營業前打開檔案試試看
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 63# GBKEE



G大大你的程式執行起來有點怪,我截圖你看看,這是執行一次的結果

TOP

回復 65# c_c_lai


    C大,可以幫我把時間拿掉嗎??時間的部分我已經想好要怎麼弄了,目前A欄時間不往下複製,B2-E2為一組往下複製,F2-I2一組依此類推,不是A2-D2為一組喔,可能誤會了,時間部份可以都拿掉,只留以下的部分,感謝,我的E2、I2、M2...為時間的輔助欄所以時間部份就不用了

Sub 時間()
    [A2] = WorksheetFunction.Text(Now(), "hh:mm:ss")
    Application.OnTime Now() + TimeValue("00:00:01"), "時間"
End Sub

TOP

本帖最後由 藍天麗池 於 2016-4-9 22:24 編輯

回復 67# c_c_lai


    所以C大加入WR 等於 3 (#67)是最新的版本嗎??
如果不加入又會有什麼問題??

TOP

回復 71# GBKEE
如果只用 Worksheet_Calculate() 的話,
那要如何判斷是哪個欄位觸發呢?
譬如需判斷  B1 、D1、F1、H1、J1 等欄位之
內容值有否異動,如此才能針對該欄位做相對應之處理?
謝謝!

TOP

本帖最後由 GBKEE 於 2016-4-9 19:05 編輯

回復 70# c_c_lai
即第三列每欄內容為 A3 (=A2), B3 (=B2), C3 (=C2),. . . . .如此便能觸發事件了。

Ex.zip (6.7 KB)    還是不行...
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 68# GBKEE
假設 DDE 的匯入值異動不會觸發 _Change() 的話:
為了要解決此案例,我會增加第三列作為觸動列,
即第三列每欄內容為 A3 (=A2), B3 (=B2), C3 (=C2),. . . . .
如此便能觸發事件了。
寫入之資料則改從第四列開始判斷寫入。

TOP

回復 68# GBKEE
我從未使用過 Private Sub Worksheet_Calculate()
它是怎麼運作?
DDE 匯入值變動時不會觸發 Worksheet_Change 嗎?
我是沒實際觀測過,因為平常我也不太使用它。之前
我比較偏向應用軟體分析與運作方面,謝謝您告知!

TOP

回復 67# c_c_lai
DEE公式值的變動,儲存格內公式參照其他工作表,計算後值的改變.
不會觸發 Private Sub Worksheet_Change(ByVal Target As Range)事件程式

回復 64# 藍天麗池
手動是改成交量,需是 (DEE公式 或 儲存格內公式 ) 值的改變
1 請複製39帖的 Private Sub Workbook_Open() 到ThisWorkbook模組後執行一次
2 請複製39帖的Private Sub Worksheet_Calculate() 到Sheets("RTD") 模組
3請在 Sheets("RTD")上有DEE總量公式的 D2,H2,,, 輸入公式=工作表2!A1
4請在 工作表2!A1輸入>0的任意數值
5看看 Sheets("RTD")的變動
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 60# 藍天麗池
我覺得當 WR 等於 3 時,應加入判斷,否則在後續處裡會有瑕玼:
  1.     If WR = 3 Or Range(Left(TG, Len(TG) - 1) & WR - 1) <> Range(TG) Then
  2.         Range(Left(TG, Len(TG) - 1) & WR).Offset(, -3).NumberFormatLocal = "hh:mm:ss"   '  設定儲存格格式 (時間)
  3.         
  4.         Range(Left(TG, Len(TG) - 1) & WR) = Range(TG)                            '  可處裡到 AA 以後的欄位 (總量)
  5.         Range(Left(TG, Len(TG) - 1) & WR).Offset(, -1) = Range(TG).Offset(, -1)  '  可處裡到 AA 以後的欄位 (成交)
  6.         Range(Left(TG, Len(TG) - 1) & WR).Offset(, -3) = Range(TG).Offset(, -3)  '  寫入異價時間 (時間)
  7.     End If
複製代碼

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題