excel学习库

excel表格_excel函数公式大全_execl从入门到精通

如何让输入内容后的单元格自动保护起来?

有朋友提问关于单元格锁定的问题, 即单元格在首次输入内容后禁止修改。 百度了一下网上的相关资源, 形成今天这个教程, 共享给各位朋友。 本示例要实现的效果为:工作表A列至E列任一单元格,在首次输入时,可以输入任何内容。但是该区域一旦输入内容后,若再想进行数据修改的话,则禁止操作。 1 首先我们将工作表的可编辑区域进行设定。操作如下: ①按【ALT+F11】快捷键,打开VBA窗口,并插入模块; ②在插入的“模块1”中输入如下代码: Sub auto_open() ActiveSheet.Unprotect 123 '将工作表保护密码设置为123 ActiveSheet.Protection.AllowEditRanges.Add Title:="区域1", Range:= Columns ("F:XFD") ActiveSheet.Protect 123 End Sub 上述auto_open模块中的代码,会在打开该文件时自动运行。其主要目的是将当前工作表中的F列至XFD列设置为可编辑区域,然后将工作表保护密码设置为“123”。2 在VBA窗口中,双击Sheet1工作表,添加其SelectionChange事件相关代码。 ①打开VBA窗口,双击工作表; ②输入 Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next If Target.Text <> "" Then Target.Locked = True Else ActiveSheet.Unprotect 123 End If End Sub SelectionChange事件中的代码在选择单元格时触发,其 主要目的是对工作表中当前操作的单元格内容进行判断:如果当前单元格内容不为空,则将当前单元格进行锁定,并进行保护;否则,则将工作表解除锁定。3 经过上述两步操作,已经实现了工作表A列至E列单元格自动锁定的目的。演示如下:PS:该方法存在缺陷,即选择A至E列,然后按DEL键则可以删除内容,此时可输入新内容,并达到数据修改的目的。 ——END——

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接