Excel 工作表更改事件触发的复制粘贴值无效
我正在使用工作表更改事件触发复制粘贴值。工作表更改代码在表2中Excel 工作表更改事件触发的复制粘贴值无效,excel,vba,worksheet,Excel,Vba,Worksheet,我正在使用工作表更改事件触发复制粘贴值。工作表更改代码在表2中 Sub worksheet_change(ByVal Target As Range) Application.EnableEvents = True Set Target = Range("AB2") If Target.Value = "OK" Then Call myTR1 End If 请注意,AB2单元格从另一张表中获取其值 复制粘贴代码位于模块中 Sub myTR1() Sheets("BA1").Range(
Sub worksheet_change(ByVal Target As Range)
Application.EnableEvents = True
Set Target = Range("AB2")
If Target.Value = "OK" Then
Call myTR1
End If
请注意,AB2单元格从另一张表中获取其值
复制粘贴代码位于模块中
Sub myTR1()
Sheets("BA1").Range("AR6:AS8").Value = Sheets("BA1").Range("AL17:AM19").Value
End Sub
当目标范围更改为“确定”时,不会触发我的复制粘贴宏。我做错了什么?使用eaxct代码是可行的,尽管示例中没有end sub 编辑: 记住“OK”是区分大小写的,所以必须使用大写才能启动,如果您希望它在lower或upper上启动,可以使用第二个代码
Sub worksheet_change(ByVal Target As Range)
Application.EnableEvents = True
Set Target = Range("AB2")
If Target.Value = "OK" Then
Call myTR1
End If
End Sub
您的
工作表\u更改
有小的w
和小的c
,因此我猜代码在一个模块中,而不是相关的工作表。请尝试使用Target
以外的其他名称作为变量,例如TargetCell
。这不是VBA中的“特殊”字吗?@SJR是的,出现工作表更改事件代码。复制和粘贴值代码在其中一个模块中。请注意,AB2单元格从另一个表中获取其值
噢,该死!!!!我只是注意到。。。在这种情况下,工作表\u更改
将不起作用。您可能需要从工作表\u计算()
视角重新考虑这一点。我正在使用End Ifs跟踪多个单元格AB2、AB3…AB200。我在末尾有一个接头。我更改的值“OK”是大写,但是单元格AB2-AB200链接到其他工作表。也许这就是为什么更改事件没有触发宏,严格来说值没有更改,只是更新了公式?有解决办法吗?谢谢。我不太确定,因为作为一个测试,我刚把AB2的值设为“=AB5”,然后我把AB5的值改为“OK”,这会更新AB2单元格,然后它会触发工作表更改事件谢谢检查。它在其他列中对我有效,而不是AB。我刚刚将跟踪器列更改为AC,工作表更改事件现在正在触发宏。我不知道为什么AB列在一开始就不起作用。
Sub worksheet_change(ByVal Target As Range)
Application.EnableEvents = True
Set Target = Range("AB2")
If Target.Value = "OK" Or Target.Value = "ok" Then
Call myTR1
End If
End Sub