iMac上的Excel 2011。我正在尝试创建一个宏,该宏将根据更改的单元格值来保护/取消保护某些单元格。
今天上午,我在构建/测试/调试时执行以下操作。但是现在,由于某种原因我无法弄清楚,它将无法运行。
当我更改单元格J2中的值时,宏应运行。但这似乎没有。 MsgBox命令今天早上很早就开始工作-我会得到弹出窗口。但是现在,不。启用了宏。
这种情况发生在一两天前,我从互联网上复制了一个存根宏,然后在存根中重建了自己的宏,然后它又开始工作了。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$2" Then
MsgBox "You changed THE CELL!"
Me.Unprotect ""
Application.EnableEvents = False
Dim cell As Range
Dim counter As Integer: counter = 0
Dim range1 As Range
For Each cell In Range("$C$12:$H$12")
If cell.Value = "" Then
Set range1 = Range(Cells(12, 3), Cells(16, 3 + counter))
For Each c In range1
c.Locked = True
Next c
Else
Set range1 = Range(Cells(12, 3), Cells(6, 3 + counter))
For Each c In range1
c.Locked = False
Next c
counter = counter + 1
End If
Next cell
Me.Protect ""
Application.EnableEvents = True
End If
End Sub