Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 28153|回复: 18

[已解决]VBA如何按指定条件禁止修改单元格区域内容?

[复制链接]
发表于 2013-5-1 09:36 | 显示全部楼层 |阅读模式
本帖最后由 ranrise 于 2013-5-1 10:05 编辑

1.jpg
如图:当E列出现“禁止修改”  时则该行的每个单元格都不能修改,修改以后也会回到原值,并警告“此行数据禁止修改!”
其它行则可以随便修改。 Book2.rar (1.78 KB, 下载次数: 167)
发表于 2013-5-1 09:49 | 显示全部楼层
用代码试试UNDO呢,不过对付代码修改就无效了。
回复

使用道具 举报

 楼主| 发表于 2013-5-1 09:51 | 显示全部楼层
代码修改就算了,只要求禁止手动修改了
回复

使用道具 举报

 楼主| 发表于 2013-5-1 09:56 | 显示全部楼层
hwc2ycy 发表于 2013-5-1 09:49
用代码试试UNDO呢,不过对付代码修改就无效了。

谢谢大师,本人初学,还请给出详细代码。只对付手工修改,不用对付代码修改。
回复

使用道具 举报

发表于 2013-5-1 09:58 | 显示全部楼层    本楼为最佳答案   
299871-VBA-工作表事件-条件禁止修改单元格内容.rar (8.66 KB, 下载次数: 1659)
回复

使用道具 举报

 楼主| 发表于 2013-5-1 10:04 | 显示全部楼层
那么的帅 发表于 2013-5-1 09:58

异常感谢大师的帮助,完全符合要求,再次感谢!!!

点评

问题解决,请设置最佳答案。  发表于 2013-5-1 10:10
回复

使用道具 举报

发表于 2013-5-1 10:39 | 显示全部楼层
本帖最后由 dongqing1998 于 2013-5-1 10:42 编辑
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Column = 5 Then Exit Sub
  3.     Application.EnableEvents = False
  4.     If Range("e" & Target.Row) = "禁止修改" Then
  5.         MsgBox "此行数据禁止修改!"
  6.         Application.Undo
  7.     End If
  8.     Application.EnableEvents = True
  9. End Sub
复制代码

评分

参与人数 2 +16 收起 理由
pu1980 + 1 很精练,思路清晰,好理解,执行也很快!
sliang28 + 15 学习了,干净利落

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-5-3 09:25 | 显示全部楼层
dongqing1998 发表于 2013-5-1 10:39

你这个更简洁!不过最佳答案已选了。
回复

使用道具 举报

发表于 2013-5-3 16:19 | 显示全部楼层
ranrise 发表于 2013-5-3 09:25
你这个更简洁!不过最佳答案已选了。

最佳对我来说无所谓,我回复时已经看到有最佳了,但我不是为了得个最佳才回复的。
回复

使用道具 举报

发表于 2014-6-19 22:55 | 显示全部楼层
学习中。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 05:01 , Processed in 0.625977 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表