본문 바로가기
언어 참조

If...Then...Else 문 사용

2023. 7. 31.

조건의 값에 따라 특정 문장 또는 문장 블록을 실행하기 위해 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