gpt4 book ai didi

VBA 嵌套 IF 语句

转载 作者:行者123 更新时间:2023-12-03 23:31:31 24 4
gpt4 key购买 nike

我想在特定单元格中包含特定值时显示一个消息框。我已经用下面的代码做到了;

If Range("P8") = "Y" Then
MsgBox "Message here"
End If

这在 Worksheet_Change 子中,因此每次另一个单元格值更改时都会显示消息框。我试图通过添加一个 bool 变量来解决这个问题,当第一次显示消息框时设置为 true;

If Range("P8") = "Y" Then
If messageshown = False Then
messageshown = True
MsgBox "Message here"
Else
End If
Else
End If

但是,每次我更改工作表中的单元格时,消息框仍会显示。我有一种感觉,这与我编写嵌套 if 语句的方式有关,但我尝试了各种不同的方式和顺序来放置 elseend if但无济于事。

最佳答案

请改用 Target 参数 - 这指的是正在更改的实际单元格,这是您感兴趣的。测试 Target 的地址以查看它是否是您需要的单元格,然后采取相应的行动。这将停止显示另一个单元格更改时的消息。

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address = "$P$8" And .Value = "Y" Then MsgBox "Message here"
End With
End Sub

关于VBA 嵌套 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34852883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com