如果字符串中包含某个值,则显示MsgBox,然后清除单元格。

问题描述 投票:0回答:1

我在单元格C11中有一个下拉菜单,用于选择货币对(截图如下)。我想写一个宏,当用户选择7种日本货币对中的一种时,生成一个MsgBox。最好的情况是,我想写一个代码,检查单元格中是否包含 "JPY "的值,然后一个消息框应该问:"您已经选择了日元交叉货币对,您的选择是什么?"。

"您已经选择了一个日元交叉盘,您要继续吗?"

然后,我想让用户能够:

  • 点击 "是",信息框就会关闭。
  • 点击 "否",消息框就会关闭,C11单元格被清除。

谢谢您。

enter image description here

excel vba msgbox forex
1个回答
0
投票

试着在下拉菜单所在的工作表中加入以下内容。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ans As VbMsgBoxResult

If Not Intersect(Target, Range("C11")) Is Nothing Then
    If InStr(Target, "JPY") Then
        ans = MsgBox("You have selected a Japanese Yen cross, do you want to continue?", vbYesNo)

        If ans = vbNo Then
            Application.EnableEvents = False
                Target.Clear
            Application.EnableEvents = True
        End If
    End If
End If

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.