【问题标题】:How do I IF with 3 conditions in VBA我如何在 VBA 中使用 3 个条件
【发布时间】:2015-02-13 11:04:35
【问题描述】:

我在报告中有一个包含 4 个潜在值的字段,“A”、“B”、“C”和“D”。 以下代码使“C”和“D”的字体颜色为“红色”,所有其他值的字体颜色为“黑色”。如何添加另一个语句以使值“A”的颜色为“绿色”?

<Color>=IIF((Fields!DFEE_condition.Value = "C") or (Fields!DFEE_condition.Value = "D"),"Red","Black")</Color>

谢谢

【问题讨论】:

  • 这被标记为 VBA 和 VB.NET,它不能同时被标记,所以它是哪一个?我怀疑是 VB.NET,但我不想在这里得出错误的结论。

标签: vba if-statement bids


【解决方案1】:

您是否尝试过像这样重用 IIF 语句:

<Color>=IIF((Fields!DFEE_condition.Value = "C") or (Fields!DFEE_condition.Value = "D"),"Red",IIF((Fields!DFEE_condition.Value = "A"),"Green","Black"))</Color>

【讨论】:

    【解决方案2】:

    您可以将[A..D] 转换为[1..4]Choose()

    color = choose(asc(Fields!DFEE_condition.Value)-64, "Green", "Black", "Red", "Red")
    

    (如果你可以使用语句,你会Select Case

    【讨论】:

      【解决方案3】:

      你需要编写嵌套的 iif ;)

      result = IIF(condition1, value_if_true, IIF(condition2, value_if_true, value_if_false))
      

      【讨论】:

        【解决方案4】:

        试试这样的:

        <Color>
        =IIF((Fields!DFEE_condition.Value = "A"), "Green", IIF(Fields!DFEE_condition.Value = "C") or (Fields!DFEE_condition.Value = "D"), "Red", "Black"))
        </Color>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-22
          • 1970-01-01
          • 2021-04-22
          • 2019-02-26
          • 1970-01-01
          • 1970-01-01
          • 2020-03-30
          • 2016-10-28
          相关资源
          最近更新 更多