我需要一个宏来禁用插入单元格,行和列。我尝试过这些不成功的技巧(等等):
Application.CommandBars("Cell").Enabled = False
ActiveSheet.Protect AllowInsertingRows:=False, AllowInsertingColumns:=False
Application.CommandBars("Worksheet Menu Bar").FindControl _
(ID:=296, Recursive:=True).Enabled = False
CommandBars("Cell").FindControl(, 21437).Enabled = False
在每次试验中,我都检索到错误,或者只是在选择列时禁用了行的插入,反之亦然。 我怎样才能实现目标?
答案 0 :(得分:1)
您应该能够通过使用正确的参数保护工作表来实现这一目标,
尝试将以下代码放在工作表的对象模块中(在Excel的工作表标签上,右键单击并选择查看代码):
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'ProtectSheet
ActiveSheet.Protect AllowInsertingColumns:=False, AllowInsertingRows:=False, UserInterfaceOnly:=True
End Sub
更新:你也可以在Excel中使用菜单工具>> PROTECTION>>保护单进行或撤消此功能,或者在功能区上按钮位于评论中标签
编辑:有关如何禁用特定菜单命令和控件的信息,请参阅Excel MVP Ron de Bruin - Disable menus & controls