2014-10-28 201 views
0

我有一个场景,在IF语句中需要两个条件才能显示相同的结果。在IF语句中声明多个条件的结果相同

即:

IF Condition 1 = something AND Condition 2 = Anything   
    txtMessage = "Hello world." 

Else 
    txtMessage = "Goodbye world. 

条件1是用于控制在访问“标签”选项,条件2是在控制如“N/A”的文本。

我知道在Java中,你可以使用& &来声明这个,但我怎样才能在VBA中做到这一点?我在论坛和谷歌上查到过类似的问题,但找不到答案。其他人建议使用elseif语句,但是应该有一种方法来声明导致同一行在同一行中的两个条件,否?我是否在这里过分简单地看一些简单的东西,还是这是看错的方法?

编辑

下面是代码片段我使用

If ctrl.Tag = "BlkChk" Then 
    If IsNull(ctrl) Then 
     strMsg = strMsg & "- " & ctrl.Name & vbCrLf 
    End If 
End If 

基本上,我想这个代码来检查,如果控制是空的,或包含文本“N/A“如果是这样,请打印文本”Hello World“。如果不是,打印文字“再见世界”。

回答

1

如果你想达到相同& &在Java中,被称为短路。它的工作方式是,只有当第一个条件评估为true时,才评估第二个条件。短路在VBA中不可用,但您可以通过Switch语句实现类似的功能。

请参见: AndAlso/OrElse in VBA

+0

我觉得这很简单。谢谢Will H! – Dylan 2014-10-28 20:42:20

1

你是说你想让txtMessage等于“Hello world”。如果其中任何一个条件是真的,或者两个条件都是真的?

如果前者使用关键字Or。如果是后者,请使用关键字And

来源:http://msdn.microsoft.com/en-us/library/wz3k228a.aspx

+0

我将修改这个问题表现出的语法。我忘了最初添加它。 – Dylan 2014-10-28 20:39:20