首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用特定工作簿的单元格拖放?

如何禁用特定工作簿的单元格拖放?
EN

Stack Overflow用户
提问于 2014-08-19 23:41:10
回答 2查看 10.2K关注 0票数 4

我有一个电子表格,用户在A列中输入信息,该信息在B列的公式中使用。B1使用A1中的信息,B2使用A2中的信息,等等。

工作表是“受保护的”,只允许用户选择和更改A列中未锁定的单元格。用户不能更改工作表的格式或结构。然而,即使工作表受到保护,他们也能够通过单击单元格的框架并将其拖到另一个单元格上来“移动”单元格内容。

如果他们将A1迁移到A2上,B1现在正在使用A2中的信息,并且B2会给出一个引用错误。

我希望,当用户“移动”一个单元格时,会触发一个宏来撤消移动。

如何以编程方式检测单元格何时移动或是否有不同的解决方案?

EN

回答 2

Stack Overflow用户

发布于 2014-08-19 23:53:23

有没有人知道通过编程的方式检测单元格移动的方法,或者对我的问题有不同的解决方案?除了Microsoft没有忽略工作表保护的这个问题:D

我有另一个解决方案。

禁用此工作簿中的拖放功能。棘手的部分是,这是一个应用程序级别的设置,因此您需要根据哪个工作簿处于活动状态来启用/禁用它。

这并不完全是初学者级别的VBA,但我已经在THIS ANSWER中对其进行了说明,并提供了一个指向包含所有示例代码和模块的XLSM文件的链接。

票数 2
EN

Stack Overflow用户

发布于 2019-08-13 05:57:06

我意识到这是一个古老的帖子,但我偶然发现它是为了寻找同样的东西,所以我分享了另一种解决这个问题的方法,这是我后来想出来的。

使用OFFSET函数引用公式中的单元格,这样就不必担心拖放操作会移动引用的单元格。在本例中,B1引用A1中的值,因此在B1中使用OFFSET(B1,0,-1)引用A1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25387602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档