반응형
Function 또는 Sub를 구현하다 보면, Parameter를 여러 개 받아와야 하는 경우가 있습니다. 이 중, parameter의 개수가 계속 변할 수 있는 상황이 존재할 수도 있죠.
가장 대표적인 예시가 정수의 덧셈을 구현하는 경우입니다. Sum(2,1)처럼 두 수를 받아와서 덧셈을 수행하는 경우도 있겠지만 Sum(1,2,3,4)처럼 여러 수의 덧셈 역시 가능하도록 구현을 하고 싶을 수 있겠죠.
이럴 때 사용할 수 있는 것이 ParamArray입니다.
ParamArray는 위의 예시와 같이 여러 parameter를 받아오고 싶지만, 그 개수를 특정하고 싶지는 않을 때 사용할 수 있습니다.
사용법은 Parameter를 정의할 때 앞에 ParamArray를 붙여주면 되고, 항상 배열의 형태를 가진 Variant 자료형으로 받아와야 합니다.
예시를 살펴보겠습니다.
Sub ParamArray_Example()
Debug.Print "With 1 Argument: " & Sum_Using_ParamArray(1, 2)
Debug.Print "With 2 Arguments: " & Sum_Using_ParamArray(1, 2, 3)
Debug.Print "With 3 Arguments: " & Sum_Using_ParamArray(1, 2, 3, 4)
End Sub
Function Sum_Using_ParamArray(ParamArray intList() As Variant)
For Each arg In intList
Sum_Using_ParamArray = Sum_Using_ParamArray + arg
Next arg
End Function
Sum_Using_Parameter라는 Function은 ParamArray를 이용해 Parameter를 선언했기 때문에 몇 개의 수를 받아오든 상관없이 기능을 수행할 수 있습니다.
아래는 출력 결과입니다.
반응형
'프로젝트 및 실습 > VBA' 카테고리의 다른 글
[VBA] 행, 열 숨기기 (0) | 2022.08.08 |
---|---|
[VBA] Join Function (0) | 2022.08.08 |
[VBA] IIf Function (0) | 2022.08.04 |
[VBA] Error Handling (0) | 2022.08.03 |
[VBA] MsgBox 사용법 (0) | 2022.08.03 |