【发布时间】:2019-12-23 15:08:05
【问题描述】:
我需要一些指导。我不想使用数据验证来限制单元格中的数据输入,因为意外输入的警告会降低工作效率。我希望用户能够从表列 C 中的列表中进行选择,并锁定不必要的单元格,以便他们可以快速切换锁定的单元格。我将需要代码来为表中的每一行工作。我将目标范围用作 ActiveSheet.ListObjects,因此它也将继续与下个月复制的工作表一起工作。我也尝试过 C3:C(我的数据确实从第 3 行开始)作为目标范围,但仍然无法使其工作。
我在 C 列(表列标题是付款类型)中的下拉框有 3 种可能性 PDPM- 应在每行锁定 AE:AJ(如果选择) RUGs IV- 应该在每一行锁定 AA:AD 级别 - 应该锁定 AA:AJ
好沮丧!
数据验证 - 没有做我想做的事 目标 C3:C 在这里找到多个代码哈哈
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(ActiveSheet.ListObjects(1).Name & "[[#All],[Payment Type]]")) Is Nothing Then Exit Sub
ActiveSheet.Unprotect Password:="Protection"
Select Case Target.Value
Case "PDPM"
Range("AE" & Target.Row & ":AJ" & Target.Row).Locked = True
Case "RUGs IV"
Range("AA" & Target.Row & ":AD" & Target.Row).Locked = True
Case "Levels"
Range("AA" & Target.Row & ":AJ" & Target.Row).Locked = True
Case Else
Range("AA" & Target.Row & ":AJ" & Target.Row).Locked = False
End Select
ActiveSheet.Protect Password:="Protection"
End Sub
什么都不做!没有错误
【问题讨论】: