Board logo

標題: [發問] Worksheet_Calculate(有辦法知道是誰變動嗎?) [打印本頁]

作者: PKKO    時間: 2015-7-20 13:26     標題: Worksheet_Calculate(有辦法知道是誰變動嗎?)

本帖最後由 PKKO 於 2015-7-20 13:34 編輯

目前小弟的問題是在於
想用Worksheet_Calculate來跑dde,但變動的時候是否有辦法偵測出是誰變動?
例如Worksheet_SelectionChange(ByVal Target As Range),就可以知道target是誰
如此一來就可以加快運作速度,針對變動者來跑程式就好,不需要重新跑回圈

在網路上有看到SetLinkOnData 方法,還不曉得使用方式
有人知道嗎?
作者: PKKO    時間: 2015-7-20 20:48

回復 1# PKKO

'已經找到下方語法,但是LinkChange裡面要如何知道是哪個dde變更呢?
  1. Sub TEST()
  2. Links = ActiveWorkbook.LinkSources(xlOLELinks)
  3. If Not IsEmpty(Links) Then
  4.     For I = 1 To UBound(Links)
  5.         ActiveWorkbook.SetLinkOnData Links(I), "LinkChange"
  6.     Next I
  7. Else
  8.   MsgBox "This workbook does not contain any links " & _
  9.              "to other workbooks"
  10. End If
  11. End Sub

  12. Sub LinkChange()
  13.   MsgBox "linked"
  14. End Sub
複製代碼

作者: PKKO    時間: 2015-7-20 21:00

回復 2# PKKO


感覺SetLinkOnData 與Worksheet_Calculate 毫無差別阿,都是針對更新的時候會觸動程式,可是都不知道Target是誰變動

各位大大,有人知道嗎?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)