2014-10-28 118 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