【问题标题】:unprotect sheet not working in excel 2013 (vba)取消保护工作表在 excel 2013 (vba) 中不起作用
【发布时间】:2016-01-27 15:35:29
【问题描述】:

我有一个工作表,其中只有当某些工作表存在时才会弹出用户表单(比如 Sheeta)。单击用户表单中的提交将进行一些计算并将其存储在 Sheetb 中。我需要锁定一些单元格,使其无法在 sheetb 中进行编辑。

提交点击中使用的代码

Sheets("sheetb").unprotect password="test"
'code for calculation
sheets("sheetb").protect password="test" , AllowFormattingcells:=true 'This statement locks the unlocked cells

当通过按钮说(加载文件)弹出用户表单时,上面的代码可以正常工作。

我不知道我犯了什么错误。 请帮我摆脱这个...

注意:我只想阻止单元格 Sheets("sheetb").Range("N10:Q20") 进行编辑。是否可以在不保护工作表的情况下防止单元格编辑。

提前致谢!!!

【问题讨论】:

  • 据我了解,您只想保护 Range("N10:Q20") 并且此工作表上的所有其他单元格都应该不受保护。对吗?

标签: excel excel-2010 vba


【解决方案1】:

根据我的评论,如果您的目标是仅保护“sheetb”上的范围“N10:Q20”而使其余部分不受保护,那么您可以很容易地做到这一点:只需选择工作表上的整个范围(CTRL+A ),按鼠标右键并转到“格式化单元格..”;选择保护选项卡并取消选中“锁定”框。接下来,选择您的范围“N10:Q20”并执行相同的步骤,但这次勾选“锁定”框。现在,运行您的代码,您会注意到只有您选择的范围将受到保护,“sheetb”上的所有其他单元格将保持解锁和可编辑状态。

【讨论】:

    猜你喜欢
    • 2016-05-04
    • 2017-08-14
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2023-03-27
    • 2019-05-27
    相关资源
    最近更新 更多