我有一个非常简单的工作簿宏用于测试,并且在满足条件时它没有执行。你知道为什么吗?宏已启用且模块正在运行,但是,表单代码不起作用。知道为什么吗?
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$3" Then
Call macro1
End If
End Sub
然后我尝试了
if A1 = "correct!"
msgbox "hey"
else <do nothing>
如果我在单元格J3中调整任何内容或放置&#34;正确!&#34;在该表中的A1中,两个代码都不会执行。 macro1的代码只是msgbox "Hey"
。知道我能做什么吗?
谢谢!
答案 0 :(得分:0)
我使用了Workbook_SheetChange
,它对我有用:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Sheet1" And Target.Address = "$J$3" Then
Call macro1
End If
End Sub
Sub macro1()
MsgBox "hello world!"
End Sub
答案 1 :(得分:0)
我希望我能正确理解你的帖子,你希望一旦你在Cell J3的工作表中修改一个值,并且Cell A1(在同一个工作表中)的值是“正确!”,那就是{{弹出“嘿”的1}}。
MsgBox
事件中的代码很好,只需修改Worksheet_Change
中的代码(可以放在另一个代码模块中)。
macro1
选项2 :使用Like运算符
Sub macro1()
If Range("A1").Value = "correct!" Then
MsgBox "hey"
End If
End Sub