工作表 worksheet 物件事件函數內參數 Cancel 用法
- 帖子
- 526
- 主題
- 56
- 精華
- 0
- 積分
- 604
- 點名
- 100
- 作業系統
- win 10
- 軟體版本
- []
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-3-19
- 最後登錄
- 2025-4-30
           
|
工作表 worksheet 物件事件函數內參數 Cancel 用法
請問\
這個事件函數 Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel 是對甚麼來定義布林值,它的意義是什麼
可否舉例說明要怎麼用?
謝謝 |
|
|
|
|
|
|
- 帖子
- 320
- 主題
- 6
- 精華
- 0
- 積分
- 310
- 點名
- 0
- 作業系統
- xp
- 軟體版本
- 2k
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-6-24
- 最後登錄
- 2024-12-21
|
2#
發表於 2015-12-6 20:31
| 只看該作者
常態下當某 cell 被雙極時, 會出現可以文字編輯的閃爍游標
Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
End Sub
加入 Cancel = True 後
不會出現可文字編輯的閃爍游標 |
|
|
|
|
|
|
- 帖子
- 522
- 主題
- 36
- 精華
- 1
- 積分
- 603
- 點名
- 0
- 作業系統
- win xp sp3
- 軟體版本
- Office 2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-12-13
- 最後登錄
- 2021-7-11
|
3#
發表於 2015-12-7 04:30
| 只看該作者
回復 2# jackyq
大大你好, 它的作用是什麼?
有什麼用途? |
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
4#
發表於 2015-12-7 06:58
| 只看該作者
本帖最後由 c_c_lai 於 2015-12-7 07:06 編輯
回復 1# Scott090
舉個例子來說明:
工作表1 (工作表1):- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
- If Not (Target.Column = 1 Or Target.Column = 2) Then Exit Sub
- Cancel = True
- If Target.Column = 1 Then
- 工作表1.Ex
- Else
- 工作表2.Ex
- End If
- End Sub
- Sub Ex()
- MsgBox "工作表1"
- End Sub
複製代碼 工作表2 (工作表2):- Sub Ex()
- MsgBox "工作表2"
- End Sub
複製代碼 說明一:- Cancel As Boolean (原文)
- False when the event occurs. If the event procedure sets this argument to True,
- the default double-click action isn't performed when the procedure is finished.
複製代碼 參數 Cancel 預設值為 False,亦即當為 False 值則啟動該事件;你可試著在有欄位值的
欄位內,滑鼠連按兩下你會發現該欄值會反白或閃爍。
如該引數宣告為 True 時,該雙擊的動作完成時,反白或閃爍都是毫無作用的,
意即不會啟動該事件的反白或閃爍之提示作用。
說明二:- Need help with code to do the folowing when clicking on diffrent cells
- in a worksheet (需要在該工作表中加入以下之程式碼)
- Column A when clicket in any row show form1.Ex (需在"工作表1"加入一 Sub Ex() 程式碼)
- Column B when clicket in any row show form2.Ex (需在"工作表2"加入一 Sub Ex() 程式碼)
複製代碼 當被點選的欄位為 A 欄時,則執行 工作表1.Ex;
當被點選的欄位為 B 欄時,則執行 工作表2.Ex。 |
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
5#
發表於 2015-12-7 07:14
| 只看該作者
本帖最後由 c_c_lai 於 2015-12-7 07:15 編輯
回復 3# yen956
你可以試著觀察:- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
- Cancel = True
- If Not (Target.Column = 1 Or Target.Column = 2) Then Exit Sub
- ' Cancel = True
- .
- .
- .
- End Sub
複製代碼 與下列不同的處裡之間的不同變化:- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
- ' Cancel = True
- If Not (Target.Column = 1 Or Target.Column = 2) Then Exit Sub
- Cancel = True
- .
- .
- .
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 320
- 主題
- 6
- 精華
- 0
- 積分
- 310
- 點名
- 0
- 作業系統
- xp
- 軟體版本
- 2k
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-6-24
- 最後登錄
- 2024-12-21
|
8#
發表於 2015-12-7 08:41
| 只看該作者
本帖最後由 jackyq 於 2015-12-7 08:44 編輯
回復 3# yen956
實現指定的 cell , 使其禁止被手動修改期值
不會出現可文字編輯的閃爍游標
自然就無法手動修改 Range |
|
|
|
|
|
|
- 帖子
- 522
- 主題
- 36
- 精華
- 1
- 積分
- 603
- 點名
- 0
- 作業系統
- win xp sp3
- 軟體版本
- Office 2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-12-13
- 最後登錄
- 2021-7-11
|
9#
發表於 2015-12-7 10:13
| 只看該作者
回復 8# jackyq
果然可以禁止用 "DoubleClick" 的方法修改Cell的值(雖然可用其方法),
謝謝大大的說明與指導!! |
|
|
|
|
|
|
- 帖子
- 522
- 主題
- 36
- 精華
- 1
- 積分
- 603
- 點名
- 0
- 作業系統
- win xp sp3
- 軟體版本
- Office 2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-12-13
- 最後登錄
- 2021-7-11
|
10#
發表於 2015-12-7 10:21
| 只看該作者
回復 5# c_c_lai
謝謝c大詳盡的說明, 沒想到禁止 "DoubleClick" 還是有它的特定用途.
p.s. 關於 監看視窗已知道怎樣用了(包括用右鍵), 真好用,
不管用來追綜自已的VBA, 還是大大們神奇的VBA均很不錯, 謝謝!! |
|
|
|
|
|
|