標題:
[發問]
檔案開啟自動更新外部連線資料,如何在更新完成後自動觸發巨集?
[打印本頁]
作者:
jsleee
時間:
2022-12-8 09:29
標題:
檔案開啟自動更新外部連線資料,如何在更新完成後自動觸發巨集?
各位先進好
雖然已經嘗試著在討論區中搜尋類似巨集觸發的帖子,但似乎無法解決我的問題...
如題,我的檔案開啟會自動更新外部連線資料,我希望在外部資料更新完成後自動觸發巨集,
由於外部資料更新後,工作表中的原始資料列會改變,因此有嘗試在一個固定的儲存格使用 COUNTA,
並利用 Private Sub Worksheet_Change(ByVal Target As Range) 這種方式來觸發,
但測試後發現,檔案開啟資料更新完後,該儲存格的數字因為資料列數改變已經同步改變了,但卻沒有觸發巨集...
只有當我雙按點選該儲存格然後按Enter後,才能正常觸發巨集。
是否有甚麼語法可以直接接續外部資料更新完成後自動觸發巨集?
或者如上述使用COUNTA的方式,但觸發語法需要調整?
以上疑問再請先進協助解惑,感恩!
JS
作者:
Andy2483
時間:
2022-12-8 10:29
回復
1#
jsleee
謝謝前輩發表此主題
後學也很想學前輩的情境敘述問題與解方相關知識,方便提供範例檔案嗎?
論壇很多厲害的前輩可以建議解決方案!
但是有提供範例檔的最有機會
作者:
singo1232001
時間:
2022-12-8 18:31
回復
1#
jsleee
如果是dde
在任一儲存格用個=號 把時常變換的都丟進來並加起來
用&起來也可以試試
然後
Private Sub Worksheet_Calculate() 用這個觸發
作者:
jsleee
時間:
2022-12-9 09:15
回復
2#
Andy2483
您好,因檔案外部連線資料為公司資料庫,因此不方便提供檔案,造成不便請見諒。
JS
作者:
jsleee
時間:
2022-12-9 09:18
回復
3#
singo1232001
感謝您提供方向,初步測試會造成頻繁的重複觸發的情況,
因急著處理其他事,先暫擱,忙完後再持續測試看看,
感謝您
JS
作者:
singo1232001
時間:
2022-12-9 10:59
回復
5#
jsleee
看你要主動還是被動
主動計時就不靠事件了
作者:
singo1232001
時間:
2022-12-9 12:49
回復
6#
singo1232001
Thisworkbook內 有一段巨集
Private Sub Workbook_Open()
On Error Resume Next
Sheets("啟動中").Name = "已停止"
Sheets("啟動中").Tab.Color = 255
On Error GoTo 0
End Sub
這些刪掉 我改完忘了刪
作者:
jackyq
時間:
2022-12-9 13:15
try .......
Private Sub Worksheet_Calculate()
End Sub
作者:
准提部林
時間:
2022-12-9 16:32
1) 檔案是連結外部檔案的公式? 或dde?
2) 公式值有變動 與 更新是否完成 是不同概念
3) 用Worksheet_Calculate的話, 如果公式有很多個, 那可能造成頻繁觸發
4) 除了這個檔案, 是否可能在這檔案其它工作表操作? 甚或同時開啟其它檔案操作?
作者:
准提部林
時間:
2022-12-9 16:34
這帖子有幾個範例檔, 參考看看
http://forum.twbts.com/viewthread.php?tid=15062
作者:
jsleee
時間:
2022-12-12 17:13
回復
7#
singo1232001
您好,我另外新增一個工作表,並僅在該工作表設定一個COUNTA的公式,
然後在該工作表透過Private Sub Worksheet_calculate() 來處理,就能避免頻繁觸發的問題了,
謝謝您,問題大致上解決了。
作者:
jsleee
時間:
2022-12-12 17:14
回復
8#
jackyq
您好,我另外新增一個工作表,並僅在該工作表設定一個COUNTA的公式,
然後在該工作表透過Private Sub Worksheet_calculate() 來處理,就能避免頻繁觸發的問題了,
謝謝您,問題大致上解決了。
作者:
jsleee
時間:
2022-12-12 17:18
回復
9#
准提部林
您好,我不是很清楚DDE是甚麼,我的資料是透過 Oracle驅動程式以ODBC連線方式從資料庫抓取資料,
如前面所提,我另外新增一個工作表,並僅在該工作表設定一個COUNTA的公式,
然後在該工作表透過Private Sub Worksheet_calculate() 來處理,就能避免頻繁觸發的問題了,
謝謝您,問題大致上解決了。
作者:
jsleee
時間:
2022-12-12 17:21
回復
10#
准提部林
感謝分享,我再花時間好好研究研究,感恩!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)