我已经设置了条件格式,因此特定选项具有独特的颜色,我现在想创建一个宏,以便基于颜色对应的单元格是可编辑的,并且该下拉列表的行中的所有其他单元格都是只读的。
因此,例如 A5 被选为“Toyota”,这意味着只有第五行中的 E5 是可编辑的,因为 A5 中的格式与 E2 匹配。
单元格截图:
我已经设置了条件格式,因此特定选项具有独特的颜色,我现在想创建一个宏,以便基于颜色对应的单元格是可编辑的,并且该下拉列表的行中的所有其他单元格都是只读的。
因此,例如 A5 被选为“Toyota”,这意味着只有第五行中的 E5 是可编辑的,因为 A5 中的格式与 E2 匹配。
单元格截图:
您可以使用该Change
事件来修改Locked
单元格的属性,如下所示
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rw As Range, rHdr As Range, cl As Range
Me.Unprotect
If Target.Column = 1 Then
Set rHdr = Me.UsedRange.Rows(1)
For Each rw In Target.Rows
If rw.Cells(1, 1) <> "" Then
For Each cl In rHdr.Cells
Me.Cells(rw.Row, cl.Column).Locked = Not (cl.Value Like rw.Cells(1, 1) & "*")
Next
Else
rw.Locked = True
End If
rw.Cells(1, 1).Locked = False
Next
End If
Me.Protect
End Sub