分享

刨根问底:保护工作表时勾选了允许“删除行”,为什么实际操作时删除不了?

 L罗乐 2017-05-10

在保护工作表时,默认情况下勾选的允许的操作是“选定锁定单元格”和“选定未锁定单元格”两个。其实我们还可以设置更多选项,比如允许“插入行”、“删除行”。

但是有同学就遇到问题了,明明勾选了允许“插入行”、“删除行”,在插入行时没有任何问题,但是在删除行时怎么就遇到错误了呢?

在删除行时出现以下提示,删除不成功。

关于这个问题,我们需要了解一个知识点,在保护工作表时,想要使单元格的数据不被更改,一定要在单元格格式设置对话框的“保护”选项卡下面勾选“锁定”。这样保护工作表才能起到保护作用。由于工作表默认情况下是勾选“锁定”的,所以这个选项往往容易被忽略。

关于工作表保护,请参阅之前的文章。

想动我的表格?没那么容易!

回到原来的问题,为什么不能删除行呢?就是因为有单元格设置了“锁定”。

  • 如果一行中任意一个单元格设置了“锁定”,在工作表保护时,即使设置了允许删除行,实际上也是删除不了的。假如能删除的话,就破坏了工作表保护这种机制,工作表保护、单元格保护就失去了它原有的作用。

  • 如果一行中所有单元格都取消勾选“锁定”,那么在工作表保护状态下勾选允许“删除行”时,就可以删除这一行。

  • 如果在工作表保护时,没有勾选允许“删除行”,即使所有单元格都取消勾选“锁定”,也是不能删除这一行的。

  • 在插入行时,新插入的行会继承上一行的格式设置。如果插入行的上一行单元格全部取消勾选“锁定”,并且在工作表保护时勾选允许“删除行”,那么新插入的行也可以被删除。

如果单元格是“锁定”的,要在工作表保护状态下做到删除行,我们只好求助于VBA了。宏代码分三步:1、取消工作表保护;2、删除行;3、保护工作表。

按Alt F11打开VBA编辑器,双击左侧的工程资源管理器中的ThisWorkbook,粘贴上以下代码。

插入一个矩形,在矩形上点击右键菜单中的“指定宏”,在弹出的对话框中选择DeleteRow这个宏。

保护工作表,设置保护密码为abc。

这时,我们选中要删除的行,点击矩形按钮,就可以删除选中的行了。

如果你要设置成其他密码,注意将代码中的abc换成你设置的密码。

小伙伴们,今天的技能你Get了吗?

--End--

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多