Excel 具有下拉值的Target.Address

Excel 具有下拉值的Target.Address,excel,vba,Excel,Vba,我注意到,当目标地址为下拉列表(数据验证-从表中提取)时,我无法使用工作表更改功能。有没有办法成功做到这一点 示例(不起作用): 谢谢大家! 我认为您的代码要么在错误的工作表中,要么下拉列表与代码所在的工作表不同。试着把它放在表1中,对表1中的“G8”进行更改,看看会发生什么 sub Worksheet_Change(ByVal Target as Range) If Target.Address="$G$8" then MsgBox "It works!" End if End

我注意到,当目标地址为下拉列表(数据验证-从表中提取)时,我无法使用工作表更改功能。有没有办法成功做到这一点

示例(不起作用):


谢谢大家!

我认为您的代码要么在错误的工作表中,要么下拉列表与代码所在的工作表不同。试着把它放在表1中,对表1中的“G8”进行更改,看看会发生什么

sub Worksheet_Change(ByVal Target as Range)
  If Target.Address="$G$8" then
    MsgBox "It works!"
  End if
End sub

我知道代码是有效的。如果有效,请尝试您的代码,如果无效,则我相信您的
工作表4。条件
有问题

这不应在模块中,而应在工作表对象中。说到这里,它也应该是私人潜艇,而不是公共潜艇。谢谢,@KDavis!我做了更改,但触发器事件仍然不起作用。我从来没有听说过
.conditions
它用于什么。我的猜测是,这不是一个东西,需要取出。条件是我在sheet4中制作的一个宏,我正在尝试运行它。它对我有效(除了你的
。条件
)。如果下拉列表位于Sheet1中,则此例程应位于Sheet1的对象中(而不是您正在引用的工作表4)。而且下拉列表肯定位于
$G$8
?您发布的代码对我不起作用。我把它贴在Sheet1上,并对G8进行了修改。G8是一个合并的细胞有关系吗?合并的单元格为G8-H8。我在Sheet4中有条件语句,可以通过G8调用它。更新:无需担心,我只是为了检查而取消了它的合并,但它仍然不起作用。我用合并的单元格测试了它,它对meI起到了作用,meI意识到了这个问题。前面的代码正在退出sub。这是一个简单的错误,谢谢你的帮助!
sub Worksheet_Change(ByVal Target as Range)
  If Target.Address="$G$8" then
    MsgBox "It works!"
  End if
End sub