包含多个“if”场景的宏

时间:2017-04-11 08:55:04

标签: excel vba excel-vba

我正在使用Excel 2007,我正在尝试用一个宏做所有事情。这是多个if的组合。

If E147="ESM7" And C147="Bot" Then“O150”中显示的值,如果不是,则显示“Q150”中显示的值。

但是If E147="ESU7" Then“O151”中显示的值,如果没有,则显示“Q151”中显示的值。

因此,如果情况有4个,从主单元格开始是“ESM7”或“ESU7”,那么取决于下一个单元格值是“Bot”还是“SLD”。

3 个答案:

答案 0 :(得分:2)

尝试在这些情况下使用Select Case,以后还可以提供更大的灵活性:

Option Explicit

Sub Test1()

Select Case Range("E147").Value
    Case "ESM7"
        If Range("C147").Value = "Bot" Then
            Range("O150").Value = Val
        Else
            Range("Q150").Value = Val
        End If

    Case "ESU7"
        Range("O151").Value = Val

    Case Else
        Range("Q151").Value = Val

End Select

End Sub

答案 1 :(得分:0)

 val = 'value you want
 If Range("E147").Value = "ESM7" And Range("C147").Value = "Bot" Then
   Range("O150").Value = val
 Else
   If Range("E147").Value = "ESU7" Then
     Range("Q151").Value =val
   Else
     Range("Q150").Value = val
   End If


 End If

答案 2 :(得分:0)

您可能想尝试使用CHOOSE功能。

https://www.techonthenet.com/excel/formulas/choose.php

或者,看一下LOOKUP函数。

http://www.excelfunctions.net/VBA-Vlookup.html

如果您开始被过多的IF淹没,您可能会发现使用它而不是多个IF语句会更容易。