HOWTO · VBA

VBA의 함수에서 배열 반환

VBA의 함수에서 배열을 반환하는 방법을 보여줍니다.

이 페이지의 내용

VBA는 독점적인 중간 언어입니다. VBA의 전체 약어는 Microsoft에서 기반으로 개발한 고급 프로그래밍 언어인 Visual Basic for Applications입니다.

Access, Excel, Word, Outlook 및 PowerPoint와 같은 다양한 응용 프로그램에서 VBA를 사용할 수 있습니다.

이 기사에서는 예제와 함께 VBA의 함수에서 배열을 반환하는 방법을 소개합니다.

VBA의 함수에서 배열 반환

VBA의 함수에서 배열을 반환하려는 경우가 많이 있습니다. 함수에서 배열을 반환하는 구문은 다음과 같습니다.

# VBA
Function arrayData() As Variant
End Function

작업하기가 더 쉽기 때문에 함수를 Variant 배열로 선언했습니다. 예제를 통해 아래와 같이 함수 내부에 배열을 만들고 VBA에서 sub를 사용하여 반환해 보겠습니다.

# VBA
Function arrayData() As Variant
    Dim myArray As Variant
    ReDim myArray(1 To 2, 1 To 3)

    myArray(1, 1) = "Name"
    myArray(1, 2) = "Iqra"
    myArray(1, 3) = "Hasnain"
    myArray(2, 1) = "Name"
    myArray(2, 2) = "Ben"
    myArray(2, 3) = "Stoke"

    arrayData = myArray

End Function
Sub test()
    Dim arr As Variant

    arr = arrayData()

    MsgBox arr(1, 2)
End Sub

출력:

VBA 출력에서 ​​배열 함수 반환

위의 예에서 볼 수 있듯이 배열을 Variant로 사용하여 VBA에서 함수를 사용하여 배열을 쉽게 반환할 수 있습니다. 그러나 하위 절차 내에서 배열을 가져와 MsgBox를 사용하여 표시할 때 실제 배열이 아니라 함수에서 반환된 배열의 참조가 됩니다.

따라서 배열을 변경하려고 하면 함수에서 얻은 배열의 참조도 변경됩니다. 그러나 목적이 함수를 사용하여 배열을 반환하는 것뿐이라면 이렇게 할 수 있습니다.