2013-04-01 5 views
0

VBA 초보자는 여기에서. 나는 VBA 2003에서 매우 단순한 if/then 문을 사용하려고 노력하고 있지만이 문제를 다루고 있습니다. 내 코드는 다음과 같습니다.VBA If Then Statements

Dim var as Integer 
If var = 1 or 2 Then 
    'Do stuff 
Else 
    MsgBox ("error") 

나는 또는 문구에 문제가 계속 발생합니다. var = 1로 변경하면 코드는 문제없이 실행됩니다.

If var = 1 or var = 2 

으로 다시 써야합니다. 그러나 이것을 확장하고 싶다면 좀 더 응집력있는 방법으로 이것을 쓸 수 있으면 좋을 것입니다. 내가 뭘 놓치고 있니? . or이 두 가지 조건, 동일한 조건의 일부를 형성하지 두 값

+0

당신이 다시 변수를 사용할 필요에 '또는'조건을 사용하려는 경우 즉, VAR = 1 또는 VAR = 2 그리고 –

+0

하는 경우 당신은 이미 몇 가지 좋은 해답을 얻었지만, 어떤 일이 일어나는지 설명하기 위해 : 두 개의 정수 OR은 두 값의 비트 OR을 제공합니다 : 1은 2 진수로 0001, 2는 0010, OR 연산으로 0011 또는 3을 산출하므로 Var Var = 3이면 = 1 또는 2가 참입니다. –

답변

2

당신은로 작성해야 대신 case 표현 :.

select case var 
    case 1, 2 
     'Do stuff 
    case else 
     MsgBox ("error") 
end select 
2

를 연결

If var = 1 or var = 2 

때문에 청소기 코드를 원하는 경우에, 당신은 사용할 수 있습니다 : :(