我正在创建一个相当大的用户输入模板,我想使用一些VBA代码将某些单元格格式化为“已解锁”。
例如,如果单元格H9 = 5,则将单元格M5:X5格式化为已解锁并使此代码一直向下运行用户输入工作表(将大约2000行,运行每行的代码)。
谢谢 TM
答案 0 :(得分:0)
对于单行:
Sub UnLockIt()
If Range("H9").Value = 5 Then
Range("H5:M5").Locked = False
End If
End Sub
2000行
Sub UnLockIt()
If Range("H9").Value = 5 Then
Range("H5:M2004").Locked = False
End If
End Sub
修改2004以满足您的需求。这假定已从工作表中删除保护。
答案 1 :(得分:0)
我会将其添加到Worksheet Event
更改单元格H5:H10
将运行M5:X10
等
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Intersect(Target, Range("H:H"))
If rng1 Is Nothing Then Exit Sub
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
For Each rng2 In rng1
Cells(rng2.Row, 13).Resize(1, 12).Locked = False
Next rng2
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub