gpt4 book ai didi

Excel VBA : Lock cells without protecting the workbook

转载 作者:行者123 更新时间:2023-12-04 15:53:20 24 4
gpt4 key购买 nike

我创建了一个加载项,用于从数据库发送和检索数据,以便我们的分析师使用这些数据。为了防止对现有数据点进行更改,我想锁定包含此数据的单元格。最初,我通过锁定数据范围和保护工作簿来做到这一点,否则锁定不起作用。但是,保护工作簿也会删除/限制最终用户的许多功能,例如创建图形、自动填充功能、更改格式等。由于最终用户需要这些和其他功能,我无法保护工作簿。尽管如此,我还是想锁定包含数据点的单元格。

所以我的问题是,是否可以在不保护工作簿的情况下将单元格锁定在动态范围内(我有宏检测数据点的正确结束列和结束行)?如果是这样,如何?如果没有,是否有可能检测动态范围的变化并显示一个消息框,表明在此特定单元格/范围内不允许更改并恢复为单元格的旧值?如果是这样,如何?

我看到一些帖子问了类似的问题,但这些帖子要么没有得到回答,要么答案不适合我的情况(例如,在工作簿的 VBA 项目而不是 add- 的 VBA 项目中实现的宏)中)。

预先感谢您的回答!

亲切的问候,罗伯特

最佳答案

使用

ActiveSheet.Cells.Locked=False

然后锁定您不想编辑的范围:

Range("A1:A4").Cells.Locked=True

然后保护床单

ActiveSheet.Protect Contents:=True, DrawingObjects:=False

这只会保护锁定的内容,并且仍然允许您更改工作表其余部分的值并插入/删除图表。您可能需要使用 Protect 更改额外设置。 More details can be found here

关于Excel VBA : Lock cells without protecting the workbook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52964216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com