返回列表 上一主題 發帖

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

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

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

回復 10# 准提部林


    感謝分享,我再花時間好好研究研究,感恩!

TOP

回復 9# 准提部林

您好,我不是很清楚DDE是甚麼,我的資料是透過 Oracle驅動程式以ODBC連線方式從資料庫抓取資料,
如前面所提,我另外新增一個工作表,並僅在該工作表設定一個COUNTA的公式,
然後在該工作表透過Private Sub Worksheet_calculate() 來處理,就能避免頻繁觸發的問題了,
謝謝您,問題大致上解決了。

TOP

回復 8# jackyq


您好,我另外新增一個工作表,並僅在該工作表設定一個COUNTA的公式,
然後在該工作表透過Private Sub Worksheet_calculate() 來處理,就能避免頻繁觸發的問題了,
謝謝您,問題大致上解決了。

TOP

回復 7# singo1232001

您好,我另外新增一個工作表,並僅在該工作表設定一個COUNTA的公式,
然後在該工作表透過Private Sub Worksheet_calculate() 來處理,就能避免頻繁觸發的問題了,
謝謝您,問題大致上解決了。

TOP

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

TOP

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

TOP

try .......

Private Sub Worksheet_Calculate()

End Sub

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

回復 5# jsleee


    看你要主動還是被動

主動計時就不靠事件了

定時執行.zip (16.07 KB)

TOP

        靜思自在 : 唯其尊重自己的人,才更勇於縮小自己。
返回列表 上一主題