조건의 값에 따라 특정 문장 또는 문장 블록을 실행하기 위해 If...Then...Else 문을 사용할 수 있습니다. If...Then...Else 문은 필요한 만큼 여러 수준으로 중첩될 수 있습니다.
그러나 가독성을 위해 중첩된 다중 If...Then...Else 문 대신 Select Case 문을 사용하는 것이 더 바람직할 수 있습니다.
조건이 참(True)인 경우에만 하나의 문장을 실행하려면 If...Then...Else 문의 단일 라인 구문을 사용하세요. 다음 예제는 Else 키워드를 생략한 단일 라인 구문을 보여줍니다.
Sub FixDate()
myDate = #2/13/1995#
If myDate < Now Then myDate = Now
End Sub
두 줄 이상의 코드를 실행하려면 여러 줄 구문을 사용해야 합니다. 이 구문에는 다음 예제와 같이 End If 문이 포함됩니다.
Sub AlertUser(value As Long)
If value = 0 Then
AlertLabel.ForeColor = "Red"
AlertLabel.Font.Bold = True
AlertLabel.Font.Italic = True
Else
End If
End Sub
조건이 True인 경우 특정 문 실행, False인 경우 다른 문 실행
If...Then...Else 문을 사용하여 조건이 True이면 한 블록이 실행되고 조건이 False이면 다른 블록이 실행되는 두 개의 실행 문 블록을 정의할 수 있습니다.
Sub AlertUser(value As Long)
If value = 0 Then
AlertLabel.ForeColor = vbRed
AlertLabel.Font.Bold = True
AlertLabel.Font.Italic = True
Else
AlertLabel.ForeColor = vbBlack
AlertLabel.Font.Bold = False
AlertLabel.Font.Italic = False
End If
End Sub
첫 번째 조건이 False인 경우 두 번째 조건 테스트하기
첫 번째 조건이 False인 경우 두 번째 조건을 테스트하기 위해 If...Then...Else 문에 ElseIf 문을 추가할 수 있습니다. 예를 들어 다음 함수 프로시저는 작업 분류에 따라 보너스를 계산합니다. Else 문 뒤에 오는 문은 모든 If 및 ElseIf 문의 조건이 False인 경우 실행됩니다.
Function Bonus(performance, salary)
If performance = 1 Then
Bonus = salary * 0.1
ElseIf performance = 2 Then
Bonus = salary * 0.09
ElseIf performance = 3 Then
Bonus = salary * 0.07
Else
Bonus = 0
End If
End Function
도움말 출처
Using If...Then...Else statements (VBA)
Office VBA reference topic
learn.microsoft.com
'언어 참조' 카테고리의 다른 글
Sub 프로시저 작성 (0) | 2023.08.01 |
---|---|
Select Case문 사용 (0) | 2023.07.31 |
선언문 작성 (0) | 2023.07.31 |
Visual Basic 문 작성 (0) | 2023.07.31 |
실행 문 작성 (0) | 2023.07.30 |