繁体   English   中英

我想在另一个单元格值为true时阻止一些单元格

[英]I want to block some cells when another cell value is true

我想知道我在Excel中的VBA代码中的错误,并且如果另一个单元格值为true,希望某些单元格被阻止。

Private Sub Worksheet_Change(ByVal Target As Range)

If ActiveSheet.Cells(35, "CD").Value = True Then
    ActiveSheet.Range("R29:AA38").Locked = True
Else
    ActiveSheet.Range("R29:AA38").Locked = False
End If
End Sub

你能帮我吗!

试试这个代码:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Ws As Worksheet
  Set Ws = Target.Worksheet
  Ws.Unprotect "pw" ' change to your password

  If CBool(Ws.Cells(35, "CD")) = True Then

    If MsgBox("Do you want to Lock the cells", vbYesNo) = vbYes Then
      Ws.Range("R29:AA38").Locked = True
    else
      Ws.Range("R29:AA38").Locked = False ' delete this line if you don't need it
      Application.EnableEvents = False
      Ws.Range("R29:AA38").ClearContents
      Application.EnableEvents = True
    end if

  else
    Ws.Range("R29:AA38").Locked = False
  end if

  Ws.Protect "pw" ' change to your password

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM