ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用VBA实现在空单元格输入数据后即不能再修改?

如何用VBA实现在空单元格输入数据后即不能再修改?

作者:绿色风 分类: 时间:2022-08-17 浏览:140
楼主
悟空师弟
Q:如何用VBA实现在空单元格输入数据后即不能再修改?
A:代码如下:

  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     y = ProtectContents
  3.     Unprotect ("123")
  4.     If Target = "" Then
  5.         Target.Locked = False
  6.     Else
  7.         Target.Locked = True
  8.     End If
  9.     If y = True Then
  10.         Protect ("123")
  11.     End If
  12. End Sub




代码功能介绍:


工作表被保护时空单元格内输入数据后不可再修改,如想修改,必须先取消工作表的保护。




代码缺点:


同时选定多个单元格修改数据时会有错误提示!


2楼
悟空师弟
补充说明:
如希望修改完成保存文档后,工作表重新得到了保护,可在工作簿事件中添加下面这段代码来实现:
  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2.     Sheet1.Protect ("123")  '只保护工作表 Sheet1 ,密码为:123
  3. End Sub
3楼
高玉甫

师傅,首次使用还可以,但是“撤销工作表保护”进行修改数据后,无论无核,工作表的·保护都不存在了,还请师傅改善一下。
4楼
悟空师弟
→→→→→→→→→→→→→→→→→→
如果“撤销工作表保护”进行修改数据后,需要手动保护工作表或保存工作簿之后才重新保护!
这不是你要的效果吗?

如果这样还不是你要的效果,请把要实现的效果罗列出来!
5楼
高玉甫

师傅,请把如下网址的附件也上传上来,方便需求者查找,谢谢您。
http://www.exceltip.net/thread-10132-1-1.html
2 楼
6楼
悟空师弟
→→→→→→→→→→→→→→→→→→→→→→→--

OK,传到这里!

21职工信息表.rar
7楼
lrlxxqxa
楼主的代码有实用价值,收藏学习了,谢谢!
8楼
daminda
老师,我想让其中一列数据不能修改,其他数据还可以修改,应该如何实现?
请指教,谢谢。
9楼
kevinchengcw
学习一下
10楼
肖世华
我试过,怎么不行呀,是哪里出了问题呢
11楼
肖世华
悟空大师,我想要保存后,单元格里面的数据就不可以修改,可以调整一下么,谢谢哈
12楼
研究研究
  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2. Sheets("sheet1").Unprotect "123" '解除保护
  3. Sheets("Sheet1").Select
  4. Selection.SpecialCells(xlCellTypeConstants, 23).Select
  5. Selection.Locked = True
  6. Selection.FormulaHidden = False
  7. Range("A1").Select
  8. Sheets("sheet1").Protect "123" '添加保护
  9. ThisWorkbook.Save
  10. End Sub


如何用VBA实现当空单元格输入数据后即不能再修改?.rar
13楼
肖世华
谢谢研究大师的热心帮助,谢谢!
14楼
qinhuan66
好好学习天天向上
15楼
澹泊明志
老师,能不能把详细的编辑过程写出来啊,
16楼
zjgzgs
正要用到,谢谢老师
17楼
wumin88838
要好好看下。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap