Worksheet_Change(ByVal Target As Range) 問題
- 帖子
- 176
- 主題
- 98
- 精華
- 0
- 積分
- 279
- 點名
- 0
- 作業系統
- window 7
- 軟體版本
- office 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-2-17
- 最後登錄
- 2020-4-8
|
Worksheet_Change(ByVal Target As Range) 問題
當使用 Worksheet_Change(ByVal Target As Range)
如何設定 Target = Range("A1:B10") 範圍以內 任何一個儲存格
另外當Worksheet_Change程式進行中,
會在同一工作表中有資料抄寫動作 Range("A1:B10") 範圍以外,
可否暫停不會再引發Worksheet_Change事件,
請指教 |
|
|
|
|
|
|
- 帖子
- 472
- 主題
- 5
- 精華
- 0
- 積分
- 485
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- MS Office
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 香港
- 註冊時間
- 2010-7-4
- 最後登錄
- 2014-12-28

|
2#
發表於 2013-6-11 13:54
| 只看該作者
回復 1# enoch
1. "當使用 Worksheet_Change(ByVal Target As Range)
如何設定 Target = Range("A1:B10") 範圍以內 任何一個儲存格"
這樣可以看每一個格子的資料:
for each c in target
msgbox(c.value)
next
這樣可以看TARGET中第2欄第1行格子的資料
msgbox(target.cells(1,2).value)
2. "另外當Worksheet_Change程式進行中,
會在同一工作表中有資料抄寫動作 Range("A1:B10") 範圍以外,
可否暫停不會再引發Worksheet_Change事件, "
在抄寫前後多加句代碼
Application.EnableEvents = False
....抄寫動作...
Application.EnableEvents = True |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
3#
發表於 2013-6-11 16:12
| 只看該作者
本帖最後由 GBKEE 於 2013-6-11 16:14 編輯
回復 1# enoch - [code]Private Sub Worksheet_Change(ByVal Target As Range)
- If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
- MsgBox Target.Address
- End If
- End Sub
複製代碼- Intersect 方法
- 請參閱套用至範例特定傳回 Range 物件,此物件代表兩個或多個範圍重疊的矩形範圍。
- expression.Intersect(Arg1, Arg2, ...)
- expression 選擇性的運算式。該運算式傳回 Application 物件。
- Arg1, Arg2, ... 必選的Range 物件類型。重疊的範圍。必須至少指定兩個 Range物件
複製代碼 |
|
|
|
|
|
|