excel - 根据另一个单元格的值更新单元格保护
问题描述
我正在尝试在实验室中跟踪数据。
目标。当单元格 P3 中的值更改为“是”时,单元格 Q3:AE3 将被锁定。但是,如果单元格 P3 中没有出现“是”,则单元格 Q3:AE3 被解锁。
我需要针对每个 P 值所在的行遍历 P 列锁定/解锁单元格。
例如,如果 P36 = “Yes”,Q36:AE36 将被锁定。
编辑:此代码适用于 P3 行。我怎样才能使这个循环通过 P3:P500?
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("P3") = "Yes" Then
Range("Q3:AE3").Locked = True
ElseIf Range("P3") = "No" Then
Range("Q3:AE3").Locked = False
ElseIf Range("P3") = "" Then
Range("Q3:AE3").Locked = False
End If
End Sub
解决方案
这将处理 P 列中正在更改的任意数量的值。根据需要提供您的密码。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'did any cells in column P change
If Not Intersect(Target, Me.Range("P1").EntireColumn) Is Nothing Then
Me.Unprotect "password"
Dim cell As Range
For Each cell In Intersect(Target, Me.Range("P1").EntireColumn)
Me.Range("Q" & cell.Row & ":AE" & cell.Row).Locked = UCase$(cell.Value) = "YES"
Next
Me.Protect "password"
End If
End Sub
推荐阅读
- java - 如何在spring oauth2安全中登录successHandler后获取访问令牌?
- r - R - 如果一个值 = x,则删除“配对”数据框中的两行
- javascript - 是否可以将两个内容属性分配给单个伪元素?
- sql - 如何打印 Oracle SQL 表的列统计信息,如 pandas 的“describe”命令对 DataFrame 所做的
- javascript - 打字稿过滤多个值
- java - 处理 Java 自定义异常
- java - readString 只能在 CurrentBSONType 为 STRING 时调用,当 CurrentBSONType 为 INT64 时不能调用
- html - 托管静态网站时如何将 AWS S3 存储桶长 URL 更改为短 S3 URL?
- darknet - 编译 darknet-master 返回没有 Stb_INCLUDE_DIR 错误
- .net - 在进入申请之前对请求进行最早的检查