我曾经有以下代码,它曾经工作但由于某种原因它不再有效。更改单元格,如果其他单元格包含文本vba
Private Sub Worksheet_Change(ByVal Target As Range)
Dim test As Range
Dim KeyCells As Range
Dim i As String
Set KeyCells = Range("AF3:AF5000")
test = Target.Rows.Count
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
For i = Target.Row To (Target.Row + (Target.Rows.Count - 1))
If Not ActiveSheet.Cells(i, 32) = "" Then
ActiveSheet.Cells(i, 20).Value = "Closed"
End If
Next
End If
End sub
基本上,如果有在列AF的任何单元中的数据,然后将所述细胞与在塔T的信息对准将标志着关闭。例如,如果AF65 <>“”那么T65.value =“关闭”
任何想法为什么它不再有效,或者如果有宏的另一种可能性?
我收集这是工作表的私人代码表中的Worksheet_Change事件子。这可能包括一些东西。 – Jeeped
嗨,是的,你是对的,我会在代码中添加。 –
它在什么时候起作用,什么时候起作用时发生了什么变化?例如你是否将代码复制到另一个工作簿(并将其放在错误的地方),你是否运行了其他一些禁用了“EnableEvents”的事件,并且您还没有可渲染的事件?你是否开始研究一个新的工作表(即不是那个有Change事件的工作表)?等等等等。 – YowE3K