You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Excel中输入日期后锁定C列单元格的有效方法

解决C列输入日期后自动锁定单元格的问题

步骤1:设置C列单元格默认可编辑

  • 选中整个C列,右键选择「设置单元格格式」
  • 切换到「保护」选项卡,取消勾选「锁定」,点击确定

步骤2:添加VBA事件代码

  1. 按下 Alt + F11 打开VBA编辑器
  2. 在左侧工程窗口中,双击你需要实现功能的工作表(比如「Sheet1」)
  3. 将以下代码粘贴到右侧代码窗口:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' 只处理C列的单元格
    If Not Intersect(Target, Me.Columns("C")) Is Nothing Then
        ' 确保只处理单个单元格,避免批量修改出错
        If Target.Cells.Count = 1 Then
            ' 判断输入内容是否为日期
            If IsDate(Target.Value) Then
                ' 取消工作表保护(如果有密码,把""替换成你的密码)
                Me.Unprotect Password:=""
                ' 锁定当前单元格
                Target.Locked = True
                ' 重新保护工作表,允许编辑未锁定的单元格
                Me.Protect Password:="", UserInterfaceOnly:=True
            End If
        End If
    End If
End Sub

代码说明

  • UserInterfaceOnly:=True 是核心设置:开启后VBA代码可直接修改单元格锁定状态,无需反复手动取消保护,用户操作仍受保护限制
  • 需要密码保护的话,把代码中的""替换为你的密码(两处都要修改)
  • 仅对C列单个单元格的日期输入生效,批量修改C列内容不会触发锁定

测试验证

  1. 返回Excel工作表,在C列任意空白单元格输入日期(比如2024/05/20)
  2. 尝试修改该单元格内容,会发现无法编辑;其他C列空白单元格仍可正常输入日期

内容的提问来源于stack exchange,提问作者user17175851

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:22:02