簡體   English   中英

鎖定多個單元格,具體取決於另一個單元格中的數字

[英]Lock a number of cells depending on a number in another cell

根據特定單元格(例如B1)中的數目,來自B3的鎖定單元格數目應等於該數目。 例如,如果B1為20,則應鎖定B3:B23。 同樣,如果B1為1000,則鎖定單元格應為B3:B1003。 以下代碼已啟動,盡管不能與range命令一起使用。 代碼有什么問題? (我正在使用Excel 2010)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim tValue As Integer
If Target = Range("B1") Then
    If Not IsNumeric(Target.Value) Then
        MsgBox "Not a valid value"
    Else
        tValue = Target.Value + 2
        Range("B3" & tValue, "B1003").Locked = False
        Range("B3", "B" & tValue).Locked = True
    End If
End If
End Sub

謝謝

該代碼正確鎖定了單元格。 但是,您需要保護表才能使鎖生效。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim tValue As Integer
If Target = Range("B1") Then
    If Not IsNumeric(Target.Value) Then
        MsgBox "Not a valid value"
    Else
        ActiveSheet.Unprotect Password:="secret"
        tValue = Target.Value + 2
        Range("B3" & tValue, "B1003").Locked = False
        Range("B3", "B" & tValue).Locked = True
        ActiveSheet.Protect Password:="secret"
    End If
End If
End Sub

如果您不想設置密碼,只需從Unprotect和Protect語句中刪除該參數即可。

暫無
暫無

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

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