拉里(Larry)谈到了他在保护自己开发的工作表时遇到的问题。他的单元格同时包含公式和条件格式。他可以在工作表中保护它们两者,但是如果有人选择一个单元格并将其复制到另一个工作表中,则条件格式是可见的。

当您将受保护的单元格从一张纸复制到另一张纸时,如果源单元格中的公式在保护过程中被隐藏,则公式的结果将粘贴(不受保护)到目标单元格中​​。这可能没什么大不了的,因为您希望保护公式(而不是结果)。

Excel对条件格式的保护不那么强。由于粘贴的单元格处于不受保护的工作表中,因此可以根据需要查看和修改它们的条件格式。如果条件格式包含您也希望保持私有的公式,则可能会出现问题。

解决此问题的唯一方法是禁用从受保护的工作表复制任何内容的功能。您可以通过使用添加到工作表对象的宏来执行此操作,该宏将禁用复制。

Private Sub Worksheet_Deactivate()

Application.CutCopyMode = False End Sub

该宏之所以有效,是因为无论何时停用工作表(即选择了目标工作表),然后CutCopyMode都设置为False。

这将导致当用户按下Ctrl + C时出现在源单元格周围的“行进蚂蚁”被删除,因此不再可能粘贴。在同一工作表上复制和粘贴仍然可以;只是不要使用其他(不受保护的)工作表。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3301)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: