代码之家  ›  专栏  ›  技术社区  ›  Vikas Hire

如果excel单元格有值,有什么方法可以锁定它吗?

  •  0
  • Vikas Hire  · 技术社区  · 3 年前

    如果excel单元格有值,有没有办法锁定它,如果没有值,有什么办法解锁它?

    例如,如果Persone更新excel表并将其发送给另一个人,则第二个人只允许更新空白单元格。

    0 回复  |  直到 3 年前
        1
  •  1
  •   Foxfire And Burns And Burns    3 年前

    LEt说你的数据是下图中的灰色区域:

    enter image description here

    您希望锁定所有带有值的灰色单元格,并保持解锁空的白色单元格。手动操作,您可以这样做:

    1. 选择所有灰色区域(整个数据集)
    2. 右键单击-->设置单元格格式 enter image description here
    3. 此时会出现一个对话框。转到选项卡 保护 并确保复选框 锁定的 已检查! enter image description here
    4. 关闭对话框
    5. 选择 再一次 所有灰色区域(整个数据集)
    6. 在上方的选项功能区中,转到选项卡“开始”,然后搜索选项“查找&选择,然后 Go to Special

    enter image description here

    1. Select选项 Blank Cells

    enter image description here

    1. 现在重复步骤2到4,但选择选项 未锁定 在步骤3中

    现在,您的空单元格已解锁,非空单元格已锁定。确保你 protect the sheet (或工作簿)带有密码 否则锁不起作用!

    是的,你可以很容易地在宏中进行编码。

    更新: 据我所知,Excel中的所有单元格默认都是锁定的,所以你可能不需要步骤1-4,但以防我添加了它们。但我敢肯定,你可以选择所有空白单元格并解锁它们,然后设置密码。

        2
  •  0
  •   Deevise    3 年前

    这个小潜艇被放置在你想让它工作的图纸上。

    每次更改单元格时,如果该单元格最终包含一个值,则它将锁定该单元格。

    Private Sub Worksheet_Change(ByVal Target As Range)
        
        If Not Target.Value = "" Then
            ActiveSheet.Unprotect
            Target.Locked = True
            ActiveSheet.Protect
        End If
    End Sub
    

    这意味着您可以在单元格中只输入一次值,然后必须取消对工作表的保护才能删除输入的值。我担心这并不是你想要的解决方案。。。

    推荐文章