2014-07-17 17 views
9

Jestem całkiem nowy w VBA i nie mogę znaleźć łatwego sposobu na sprawdzenie, czy którakolwiek z podanych zmiennych jest równa określonej wartości. Poniższe wydaje się działać, ale czy jest łatwiejszy sposób to zrobić?VBA Jeśli <dowolny z tych> = <value>?

If variable1 = 1 Or variable2 = 1 Or variable3 = 1 Or variable4 = 1 Or variable5 = 1 Then End If 

Próbowałem również następujące, bez powodzenia.

If (variable1 Or variable2 Or variable3 Or variable4 Or variable5) = 1 Then End If 
+0

dla poszczególnych elementów, chyba że istnieją szczególne właściwości zmiennych (gdzie bit-twiddling sztuczek może działać), masz pecha. W przypadku tablic możesz spróbować uruchomić pętlę ... Whoops, odbieram ją, idź za przykładem Siddharth'a poniżej. – hnk

Odpowiedz

14

Można użyć wybierz przypadek :)

Sub Sample() 
    Dim variable1, variable2, variable3, variable4, variable5 

    variable1 = 1: variable2 = 1: variable3 = 1: variable4 = 1: variable5 = 1 

    Select Case 1 
     Case variable1, variable2, variable3, variable4, variable5 
      MsgBox "One of them is equal to 1" 
     Case Else 
      MsgBox "none of then is equal to 1" 
    End Select 
End Sub 
+1

To jest poważny +1, nigdy nie próbowałem odwracać metody wyboru przypadku! – hnk

+0

Nigdy wcześniej tego nie robiłem. Mam nadzieję, że zapamiętam tę sztuczkę, kiedy to uratuje dzień. – tbur

+0

Wielkie dzięki, Siddharth! Dziękujemy za poświęcenie czasu na napisanie tej odpowiedzi! –