VBA의 함수에서 배열 반환

Iqra Hasnain 2022년8월18일
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를 사용하여 표시할 때 실제 배열이 아니라 함수에서 반환된 배열의 참조가 됩니다.

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

관련 문장 - VBA Array