IIf 함수는 조건에 따라 다른 값을 반환하는 함수입니다
구문은 다음과 같습니다.
Syntax
IIf(expr, truepart, falsepart)
expr : 평가하려는 식입니다.필수 요소입니다.
truepart : expr이 True인 경우 반환되는 값 또는 표현식입니다. 필수 요소입니다.
falsepart : expr이 False인 경우 반환되는 값 또는 표현식입니다. 필수 요소입니다.
IF함수와의 차이점
구문만 보면 워크시트에서 사용하는 IF함수와 같습니다.
=if(logical_test,value_if_true,value_if_false)
워크시트의 IF함수는 아래 그림과 같이 인수 생략이 가능합니다.
그러나 IIf함수는 인수 생략이 불가능합니다.
또 다른 차이점은 IIf함수는 모든 조건식을 평가합니다.
도움말을 번역하면 아래와 같습니다.
IIf는 truepart와 falsepart 중 하나만 반환하더라도 항상 둘 다 평가합니다. 이 때문에 바람직하지 않은 부작용을 관찰해야합니다. 예를 들어, falsepart를 평가할 때 0으로 나누기 오류가 발생하면 expr이 True인 경우에도 오류가 발생합니다.
워크시트 함수에서는 거짓에 해당하는 경우에만 에러가 납니다.
그러나 IIf함수는 모든 식을 평가하므로 값이 있어도 에러가 발생합니다.
예제 코드
입력한 결과에 따라 메시지를 출력하는 간단한 예제입니다.
Sub CheckValue()
Dim userInput As String
Dim message As String
userInput = InputBox("숫자를 입력하세요:")
message = IIf(IsNumeric(userInput), "입력한 값은 숫자입니다.", "입력한 값은 숫자가 아닙니다.")
MsgBox message
End Sub
셀의 배경색을 변경하는 예제입니다.
Sub ChangeCellColor()
Dim value As Integer
Dim cell As Range
value = 5
Set cell = Range("A1")
cell.Interior.Color = IIf(value > 10, RGB(255, 0, 0), RGB(0, 255, 0))
End Sub
IIf function (Visual Basic for Applications)
Office VBA reference topic
learn.microsoft.com
'VBA 라이브러리' 카테고리의 다른 글
StrConv 함수 (0) | 2023.07.22 |
---|---|
StrComp 함수 (0) | 2023.07.22 |
ColorConstants (0) | 2023.07.18 |
InputBox 함수 (0) | 2023.07.15 |
MsgBox 함수 (0) | 2023.07.14 |