선택적 Variant 인수가 프로시저에 전달되었는지 여부를 나타내는 부울 값을 반환합니다.
구문
IsMissing(argname)
필수 argname 인수에는 선택적 Variant 프로시저 인수의 이름이 포함됩니다.
주의
IsMissing 함수를 사용하여 프로시저 호출 시 선택적 Variant 인수가 제공되었는지 여부를 검색합니다. IsMissing 은 지정된 인수에 값이 전달되지 않은 경우 True 를 반환합니다. 그렇지 않으면 False를 반환합니다. IsMissing이 인수에 대해 True를 반환하는 경우 다른 코드에서 누락된 인수를 사용하면 사용자 정의 오류가 발생할 수 있습니다. IsMissing을 ParamArray 인수에 사용하는 경우 항상 False를 반환합니다. 빈 ParamArray를 검색하려면 배열의 상한이 하한보다 작은지 테스트합니다.
참고
IsMissing은 변형과 달리 "누락된" 플래그 비트에 대한 프로비전이 없기 때문에 정수 또는 이중 등의 간단한 데이터 형식에서는 작동하지 않습니다. 따라서 입력된 선택형 인수에 대한 구문을 사용하면 기본값을 지정할 수 있습니다. 프로시저가 호출될 때 인수를 생략하면 아래 예제와 같이 인수의 기본값이 생략됩니다.
참고
VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
대부분의 경우 사용자가 함수 호출에서 이를 생략하는 경우 기본값을 포함하려는 MyVar 값과 동일하게 만들어 테스트를 완전히 생략 If MyVar 할 수 있습니다. 이렇게 하면 코드가 더 간결하고 효율적입니다.
예제
이 예제에서는 IsMissing 함수를 사용하여 선택적 인수가 사용자 정의 프로시저에 전달되었는지 검사합니다. 선택적 인수는 이제 Variant가 아닌 다른 기본값과 형식을 가질 수 있습니다.
Dim ReturnValue
' The following statements call the user-defined
' function procedure.
ReturnValue = ReturnTwice() ' Returns Null.
ReturnValue = ReturnTwice(2) ' Returns 4.
' Function procedure definition.
Function ReturnTwice(Optional A)
If IsMissing(A) Then
' If argument is missing, return a Null.
ReturnTwice = Null
Else
' If argument is present, return twice the value.
ReturnTwice = A * 2
End If
End Function