保护工作表时,Excel允许您定义用户在该受保护工作表中可以执行的操作。使用“保护图纸”对话框中的复选框,可以选择各种允许的操作。 (请参见图1。)

image

图1.“保护图纸”对话框。

“保护工作表”对话框中允许的操作之一是在受保护的工作表中插入和删除行和列。对于某些类型的工作表,这是一个很棒的功能。但是此功能的实际运作方式有些奇怪。

假设您创建了一个工作表并对其进行了保护。这样做表示您可以在受保护的工作表中插入和删除行。当有人试图在受保护的工作表中插入一行时,它会插入就好了。如果有人尝试删除一行(甚至是他们刚刚插入的行),则不允许执行此操作;这是不可能的。

是什么赋予了?您在“保护工作表”对话框中指出,人们可以删除行,但是Excel仍然不允许您删除行。

原因似乎与Excel如何实现工作表保护有关。请记住,保护将应用于所有在“设置单元格格式”对话框的“保护”选项卡上格式化为“锁定”的单元格。如果您尝试删除的行中的任何单元格的格式设置为“锁定”,则工作表保护将不允许您删除该行。如果该行中的所有单元格都清除了“锁定”复选框,则可以成功删除该行。 (请参见图2。)

image

图2.“设置单元格格式”对话框的“保护”选项卡。

有趣的是,用户无法删除他们添加的行,因为添加的行继承了其上方行的单元格格式。因此,如果在插入的行上方的行中有任何锁定的单元格,则只要保护工作表,就不能删除插入的行。

对于任何确实希望人们能够删除工作表中的行的功能的工作表开发人员来说,此行为当然不是非常有用,无论行中的单元格是否被锁定。如果您是这些人之一,那么您唯一可以做的就是创建一个可以为您删除的宏。宏必须完成以下步骤:

。取消保护工作表。删除行。再次保护工作表

使用_ExcelTips其他问题中介绍的技术,这三个步骤相对容易执行。为了使宏有用,您可能需要添加代码,以确保用户不会试图删除您不希望它们删除的行删除(标题,总计等)。

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

本提示(10315)适用于Office 365中的Microsoft Excel 2007、2010、2013、2016、2019和Excel。您可以在此处找到适用于Excel的较早菜单界面的本提示的版本: