VBA의 함수에서 배열 반환
Iqra Hasnain
2022년8월18일
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
출력:
위의 예에서 볼 수 있듯이 배열을 Variant로 사용하여 VBA에서 함수를 사용하여 배열을 쉽게 반환할 수 있습니다. 그러나 하위 절차 내에서 배열을 가져와 MsgBox
를 사용하여 표시할 때 실제 배열이 아니라 함수에서 반환된 배열의 참조가 됩니다.
따라서 배열을 변경하려고 하면 함수에서 얻은 배열의 참조도 변경됩니다. 그러나 목적이 함수를 사용하여 배열을 반환하는 것뿐이라면 이렇게 할 수 있습니다.