[英]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.