簡體   English   中英

如果另一個單元格的值為“ x”,則將一系列單元格的格式設置為未鎖定

[英]Format a range of cells as unlocked if another cell has a value of “x”

我正在創建一個相當大的用戶輸入模板,並且我想使用一些VBA代碼將某些單元格設置為“解鎖”格式。

例如,如果單元格H9 = 5,則將單元格M5:X5格式化為未鎖定狀態,並使此代碼一直沿用戶輸入工作表運行(大約2000行,每行運行一次代碼)。

謝謝TM

對於單行:

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以適應您的需求。 這假定保護已經從工作表中刪除。

我將其添加到Worksheet Event

  1. 右鍵單擊您的工作表標簽
  2. 查看..代碼
  3. 復制並粘貼以下代碼

更改單元格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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM