我寫道,將在工作表中歸檔文件中刪除的行成anoteher隱藏的工作表代碼:VBA檢測/防護刪除行從快速訪問工具欄
Application.CommandBars("Row").FindControl(ID:=293).OnAction = "ArchiveRow"
不幸的是刪除通過右鍵菜單行時,這僅適用。
有沒有辦法通過快速訪問工具欄或使用快捷鍵來檢測或防止刪除行?
我寫道,將在工作表中歸檔文件中刪除的行成anoteher隱藏的工作表代碼:VBA檢測/防護刪除行從快速訪問工具欄
Application.CommandBars("Row").FindControl(ID:=293).OnAction = "ArchiveRow"
不幸的是刪除通過右鍵菜單行時,這僅適用。
有沒有辦法通過快速訪問工具欄或使用快捷鍵來檢測或防止刪除行?
可能的解決方法是在工作簿激活時禁用快捷方式和快速訪問工具欄,然後在停用時再次啓用它們。儘管如此,如果你需要其他的東西在工具欄,這未必是最好的選擇:
在的ThisWorkbook對象:
Private Sub Workbook_Activate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
With Application
.OnKey "^-", ""
End With
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_Deactivate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
With Application
.OnKey "^-", "^-"
End With
Application.ScreenUpdating = True
End Sub
我可以爲您提供以下解決方法:
確保您鎖定的工作表,當你鎖定它,你不允許的行和列的缺失。
當你想使用你的宏時,在某處設置一個觸發器,這樣就可以解除工作表的保護 - Sheets("Sheet1").Unprotect "mypassword"
。
然後,在宏結束時,你可能會再次與這個保護工作表: Sheets("Sheet1").Protect "mypassword"
它的工作,但我不知道這是否是你想要的。
你需要的任何東西的工具欄或者你還好嗎完全隱藏起來呢? – Clusks