在Excel中出于保密需要,通常不希望使用者查看和修改公式。你可以利用Excel锁定、隐藏和保护工作表的功能,把公式隐藏和锁定起来。但如果按照常规方法设置会比较麻烦,而利用Excel的宏,在工具栏上添加一个“保护公式”的按钮,需要隐藏和锁定公式时,只要轻轻一按即可完成保护。
制作宏
为了使此宏对所有工作簿有效,需要将其保存到“个人宏工作簿”中。
第一步:执行“工具→宏→录制新宏”命令,打开“录制新宏”对话框,见图1所示。
第二步:单击右侧“保存在”下拉按钮,在随后出现的下拉列表中,选择“个人宏工作簿”选项,确定进入录制状态。
第三步:单击“停止录制”工具栏上的“停止录制”按钮,退出录制状态。
注意:前面的操作是为了在Excel中添加“个人宏工作簿”。
第四步:按下Alt+F11组合键进入VBA编辑状态(见图2),在左侧依次展开“VBAProject(PERSONAL.XLS)”、“模块”选项,双击下面的“模块1”。
第五步:用下面的代码替换右侧编辑区域中的代码:
Sub 保护公式()ActiveSheet.Unprotect ("123456") '解除对工作表的保护Cells.Select
'选中整个表格Selection.Locked = False
'解除锁定Selection.SpecialCells(xlCellTypeFormulas, 23).Select '选中包含公式的单元格Selection.Locked = True '添加锁定Selection.FormulaHidden = True
'添加隐藏ActiveSheet.Protect ("123456")
'保护工作表,并设置密码ActiveSheet.EnableSelection = xlUnlockedCells '让锁定单元格不能选中'以下代码用于保存文件If Left(ActiveWorkbook.Name, 4) = "Book" Theny = InputBox("请输入保存文件名称:")z = InputBox("请输入文件保存路径:")ChDir zActiveWorkbook.SaveAs Filename:=z & "" & y & ".xls"ElseActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "" & ActiveWorkbook.NameEnd IfEnd Sub
输入完成后,关闭VBA编辑窗口返回。
小提示
★上述代码中,“保护公式”为宏名称,在实际输入时可以更换为其他名称。
★代码中,英文单引号及其后面字符是对代码的解释,在实际输入时可以不输入。
★代码中的密码(“123456”)请根据实际需要修改(需要保持前后的一致)。
添加按钮
在工具栏上添加一个宏按钮,方便随时调用。
第一步:执行“工具→自定义”命令,打开“自定义”对话框,见图3所示。
第二步:切换到“命令”标签下,在“类别”下面选中“宏”选项,然后将右侧“命令”下面的“自定义按钮”选项拖到工具栏上合适位置上。
第三步:右击刚才添加的按钮,在随后弹出的快捷菜单中,选择“总是只用文字”选项,并将“命名”后面的字符修改为“保护公式”(见图4)。
第四步:再次右击上述按钮,在随后弹出的快捷菜单中,选择“指定宏”选项,打开“指定宏”对话框(见图5),选中刚才制作的宏“保护公式”,确定返回,并关闭“自定义”对话框。
以后,工作表中的公式编辑完成后,单击一下工具栏上的“保护公式”按钮,包含公式的单元格全部被锁定,不能进行选中、编辑和查看等操作,安全可靠。