- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
本帖最後由 luhpro 於 2014-11-11 22:47 編輯
對不起以上前輩,目前描述不是很清楚,
當同時開立2個excel 檔案作業,但不是有相關性,假設A檔為物料控制 ...
red 發表於 2014-11-10 09:23 
我大概知道你的意思了,
也就是某個Excel檔案的儲存格發生異動,
但卻觸發了另一個Excel檔案中的Worksheet_Change程序,
導致該段程式非預期的被執行,
以致出現非原設計本意的結果.
這可以用一個 IF 判斷區塊包住,
只要不是自己本身異動而觸發的就不執行來解決 :
1. 假設當 "異動統計" 工作表的儲存格發生異動時才要執行 ->- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Parent.Name = "異動統計" Then
- ...
- End If
- End Sub
複製代碼 2. 假設須當 "Book1.xls" 檔案的 "異動統計" 工作表的儲存格發生異動時才要執行 ->- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Parent.Parent.Name = "Book1.xls" And Target.Parent.Name = "異動統計" Then
- ...
- End If
- End Sub
複製代碼 |
|