返回列表 上一主題 發帖

[發問] 檔案開啟自動更新外部連線資料,如何在更新完成後自動觸發巨集?

[發問] 檔案開啟自動更新外部連線資料,如何在更新完成後自動觸發巨集?

各位先進好
        雖然已經嘗試著在討論區中搜尋類似巨集觸發的帖子,但似乎無法解決我的問題...
        如題,我的檔案開啟會自動更新外部連線資料,我希望在外部資料更新完成後自動觸發巨集,
        由於外部資料更新後,工作表中的原始資料列會改變,因此有嘗試在一個固定的儲存格使用 COUNTA,
        並利用 Private Sub Worksheet_Change(ByVal Target As Range) 這種方式來觸發,
        但測試後發現,檔案開啟資料更新完後,該儲存格的數字因為資料列數改變已經同步改變了,但卻沒有觸發巨集...
        只有當我雙按點選該儲存格然後按Enter後,才能正常觸發巨集。
        是否有甚麼語法可以直接接續外部資料更新完成後自動觸發巨集?
        或者如上述使用COUNTA的方式,但觸發語法需要調整?
        以上疑問再請先進協助解惑,感恩!
JS

回復 1# jsleee


    謝謝前輩發表此主題
後學也很想學前輩的情境敘述問題與解方相關知識,方便提供範例檔案嗎?
論壇很多厲害的前輩可以建議解決方案!
但是有提供範例檔的最有機會
看得懂是應該的,懂得應用才像學生,臉皮厚點學會更謹慎積極

TOP

回復 1# jsleee


如果是dde
在任一儲存格用個=號 把時常變換的都丟進來並加起來  
用&起來也可以試試
然後
Private Sub Worksheet_Calculate() 用這個觸發

TOP

回復 2# Andy2483


您好,因檔案外部連線資料為公司資料庫,因此不方便提供檔案,造成不便請見諒。
JS

TOP

回復 3# singo1232001

感謝您提供方向,初步測試會造成頻繁的重複觸發的情況,
因急著處理其他事,先暫擱,忙完後再持續測試看看,
感謝您
JS

TOP

回復 5# jsleee


    看你要主動還是被動

主動計時就不靠事件了

定時執行.zip (16.07 KB)

TOP

回復 6# singo1232001


   Thisworkbook內 有一段巨集

Private Sub Workbook_Open()
On Error Resume Next
Sheets("啟動中").Name = "已停止"
Sheets("啟動中").Tab.Color = 255
On Error GoTo 0
End Sub

這些刪掉  我改完忘了刪

TOP

try .......

Private Sub Worksheet_Calculate()

End Sub

TOP

1) 檔案是連結外部檔案的公式? 或dde?
2) 公式值有變動 與 更新是否完成 是不同概念
3) 用Worksheet_Calculate的話, 如果公式有很多個, 那可能造成頻繁觸發
4) 除了這個檔案, 是否可能在這檔案其它工作表操作? 甚或同時開啟其它檔案操作?

TOP

這帖子有幾個範例檔, 參考看看
http://forum.twbts.com/viewthread.php?tid=15062

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題