標題:
Worksheet_Deactivate() 程序啟動失敗?? (已解決)
[打印本頁]
作者:
riceeric
時間:
2012-3-15 14:04
標題:
Worksheet_Deactivate() 程序啟動失敗?? (已解決)
本帖最後由 riceeric 於 2012-3-16 09:34 編輯
我有個取消拖拉儲存格的事件Code,但是Worksheet_Deactivate()這個程序在同一個Excel檔切換到另一個工作表時會啟動這個事件
但是從這個工作表點開另一個Excel檔這個事件卻不會被執行
更奇怪的是我換部電腦嘗試這個檔案,有3台卻可以,有1台跟我的一樣不行
有高手可以幫我解惑嗎?
---------------------------------------Code為我為了鎖住拖拉儲存格以及複製功能寫的
'啟動此工作表事件
Private Sub Worksheet_Activate()
'禁止拖拉儲存格
Application.CellDragAndDrop = False
Dim copyCtls As CommandBarControls
Dim copyCtl As CommandBarControl
Application.CutCopyMode = False
'尋找所有 [複製] 按鈕, 其ID為19
Set copyCtls = Application.CommandBars.FindControls(ID:=19)
'將所有 [複製] 按鈕功能取消
For Each copyCtl In copyCtls
copyCtl.Enabled = False
Next
'取消 [複製] 快捷鍵
Application.OnKey "^c", ""
'工作表標籤右鍵所跳出來的 "ply" 工具列"移動或複製(M)..." 按鈕可移動並產生副本
'因此一并禁止
Application.CommandBars("ply").Controls(5).Enabled = False
'以上應該就無法複製了
End Sub
'移出此工作表程序
Private Sub Worksheet_Deactivate()
'系統恢復拖拉功能
Application.CellDragAndDrop = True
Dim copyCtls As CommandBarControls
Dim copyCtl As CommandBarControl
'尋找所有 [複製] 按鈕, 其ID為19
Set copyCtls = Application.CommandBars.FindControls(ID:=19)
'將所有 [複製] 按鈕功能恢復
For Each copyCtl In copyCtls
copyCtl.Enabled = True
Next
'恢復 [複製] 快捷鍵
Application.OnKey "^c"
'恢復工作表標籤右鍵所跳出來的 "ply" 工具列"移動或複製(M)..." 按鈕功能
Application.CommandBars("ply").Controls(5).Enabled = True
'以上應該就可以複製了
End Sub
複製代碼
作者:
GBKEE
時間:
2012-3-15 15:36
回復
1#
riceeric
從這個工作表點開另一個Excel檔這個事件卻不會被執行
該是用 ThisWorkbooK的 Deactivate 事件
Private Sub Workbook_Deactivate()
Run "Sheet1.Worksheet_Deactivate"
End Sub
複製代碼
作者:
riceeric
時間:
2012-3-16 09:34
回復
2#
GBKEE
感激不盡,可以用了∼:)
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)