基于两个条件的消息框

Message box based on two Conditions

我又需要你的帮助了。 我正在尝试根据两个条件创建一个消息框。 我有两个列表: 一个数字从 1 到 20。 第二个是:单一股票、单一期权、一篮子股票和一篮子期权。

在 Sheet "Input" 单元格 "F7" 中选择单一 Stock/Single 选项时,应该只能在单元格 "F8" 中使用数字“1” ] 否则应该显示错误的消息框。

在 Sheet "Input" 单元格 "F7" 中选择 Stocks/Options 的篮子时,应该只能在单元格 "F8" 中使用大于 1 的数字否则应显示错误消息框。

我试过使用这个代码:

Sub Msg_exe()
If Target.Address = "$F" Then
  If Target.Value > 2 Then
    If Target.Address = "Stock" Then
      If Target.Address = "Option" Then
        MsgBox "Error!", vbExclamation, "Error"
      End If
    End If
  End If
End If

Sub Msg_exe()
If Target.Address = "$F" Then
  If Target.Value < 2 Then
    If Target.Address = "Basket of Stocks" Then
      If Target.Address = "Basket of Options" Then
        MsgBox "Error!", vbExclamation, "Error"
      End If
    End If
  End If
End If

除了使用 VBA,您还可以将数据验证添加到单元格 F8:
=IF(OR($F="Stock",$F="Option"),$F=1,IF(OR($F="Basket of Stocks",$F="Basket of Options"),$F>1,""))

您可以从这段代码开始:

If Target.Address = "$F" Then
    Select Case Range("F7")
        Case "Single Stock", "Single Option"
            If Range("F8").Value <> 1 Then MsgBox "Error!", vbExclamation, "Error"
        Case "Basket of Stocks", "Basket of Options"
            If Range("F8").Value <= 1 Then MsgBox "Error!", vbExclamation, "Error"
    End Select
End If