0
My Excel VBAは目的のセルのロックを解除しますが、条件が変わると再ロックできません。可変セルのロック/ロック解除
私のExcelユーティリティでは、A1の値が "A"の場合、A8:A13の範囲内にB1があり、B1の値を持つ行とBの値を持つ列のセルのロックを解除し、 "c"(ここではセルB9とC9はロック解除されます)。私のVBAはここで動作しますが、B1の値を変更すると(例えば "w"を "e"にすると対応するセル、例えばB10とC10のロックが解除されますが、B9とC9のセル。これに
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [A1] = "A" Then
ActiveSheet.Unprotect ("")
[=INDEX(A8:F13,MATCH(B1,A8:A13,0),MATCH("b",A8:F8,0))].Locked = False
[=INDEX(A8:F13,MATCH(B1,A8:A13,0),MATCH("c",A8:F8,0))].Locked = False
ActiveSheet.Protect ("")
Else
ActiveSheet.Unprotect ("")
[=INDEX(A8:F13,MATCH(B1,A8:A13,0),MATCH("b",A8:F8,0))].Locked = True
[=INDEX(A8:F13,MATCH(B1,A8:A13,0),MATCH("c",A8:F8,0))].Locked = True
ActiveSheet.Protect ("")
End If
End Sub