我想将 Excel 2010 工作簿中的一个工作表设为只读,但我不想使用密码。我只是想让它不会意外编辑工作表,而且我不想处理密码——即使是空白密码也不行。本质上,我想做的事情与设置文件的只读位相同,但我想对 Excel 2010 工作表执行此操作。
答案1
你来此的目的是什么?
提醒自己你不想编辑此表
如果是为了防止你自己避免意外编辑工作表,一种解决方案是绘制一个覆盖所有数据的巨大矩形,并将其透明度设置为 100%。这样,您可以看到所有内容,但无法单击任何单元格。但是,仍然可以使用键盘浏览和编辑形状下的单元格。这个想法主要是为了提醒大家,因为删除形状并正常使用工作表很容易。它不是很强大,应用起来很烦人,但删除起来很快。
除非您单击特定按钮,否则无法编辑工作表
您已经说过,使用空白密码保护工作表不是您想要的方法,但这无疑是最简单的方法。我很好奇您为什么不喜欢它。有一些麻烦,比如打开时必须处理对话框,每次尝试编辑单元格时都要处理弹出框。
您可以编写一些 VBA 来自动使用空白密码保护和取消保护工作表。使用起来很容易,但您必须在工具栏上的某个地方放置一个按钮来调用该宏。当您尝试编辑单元格时,仍会出现弹出框。也就是说,它不会为您节省太多时间。不过,我建议,不是保护时请选中所有框,因为这样做可以让您添加/删除行和列 - 以及其它操作 - 您可能不想这样做。
编辑:(基于 OP 的评论)
这是用于切换工作表保护的 VBA。您可以使用它来制作一个按钮来打开和关闭它。本文可以提供有关如何将自定义宏添加到功能区或快速访问工具栏的所有详细信息。简而言之:右键单击功能区上的空白处,然后单击“自定义快速访问工具栏”或“自定义功能区”以打开新窗口。将左上角标有“从中选择命令:”的下拉菜单设置为“宏”,然后在列表中找到该宏。添加后,您可以编辑图标和名称。
Sub ToggleSheetProtection()
'Enables / Disables sheet protection with a blank password
'When disabling protection, it will prompt for a password only if it isn't blank
With ActiveSheet
If .ProtectContents Then .Unprotect Else .Protect "", True, True, True, True
End With
End Sub
关键点:
- 按照文字说明,它仅锁定用户界面。这意味着 VBA 仍然可以编辑工作表。要更改这一点,请将 后面的最后一个删除
True
。.Protect
(事实上,由于默认值,您可以将 后面该行上的所有内容删除.Protect
。) - 当您尝试编辑内容时,仍会看到弹出窗口。
答案2
如果只保护一张工作表,请右键单击“Sheet1”选项卡(或要保护的选项卡的名称),然后单击“保护工作表”。
在列表中选择所有所需选项,不要设置密码,然后单击“确定”。如果不设置密码,如果您想取消保护,它不会提示您输入密码。
要取消保护,请再次右键单击并选择“取消保护”
答案3
1工作表
右键单击
2工作簿
在文件选项卡上;可以指定另存为、工具、常规选项和密码来打开或修改。
3 右键单击文件图标,选择属性,在属性旁边单击“只读”