我需要通过阻止
来保护工作表名称必须使用{{1>}或Protect Sheet
选项 >>保护整个工作表。
有没有办法用VBA做到这一点?
答案 0 :(得分:1)
此代码在激活工作表时禁用工作表上的删除控件(但不能右键单击单元格)菜单。工作表取消激活时启用控件
当取消激活工作表时,代码也会将工作表命名为“NameOfSheet”。这是一种防止重新命名工作表的解决方法
Private Sub Worksheet_Activate()
Application.CommandBars.FindControl(ID:=847).Enabled = False
End Sub
Private Sub Worksheet_Deactivate()
Application.CommandBars.FindControl(ID:=847).Enabled = True
Me.Name = "NameOfSheet"
End Sub
答案 1 :(得分:0)
我认为你不能。您可以做什么,您可以使工作表成为一个非常隐藏的工作表(只能从VBA访问),如果是已删除的工作表,您可以复制它并使副本可见。
答案 2 :(得分:0)
这种方法有用吗?
然后保护工作簿,但允许除第一个操作之外的所有操作 “选择锁定的单元格”。
除了选择带有sheetname的单元格(并删除行/列)之外,用户可以执行所有操作。
现在编写一个VBA来比较实际的工作表名称和受保护的命名单元格中的数据(或固定引用,例如A1)。