VBA – 배열을 셀 범위에 출력하기
Last updated on 4월 29, 2023
이 튜토리얼에서는 VBA에서 배열을 범위로 출력하는 방법을 보여드립니다.
배열을 셀 범위에 출력하기
배열에 저장된 데이터를 Excel 시트로 쉽게 출력할 수 있습니다. 이를 수행하는 방법에는 3가지가 있습니다.
다른 범위에 데이터 출력하기
Excel에서 한 범위의 데이터로 배열을 채운 다음 다른 범위로 데이터를 출력할 수 있습니다.
Public Sub TestOutput()
'배열을 선언합니다
Dim rnArray() As Variant
'범위의 값들로 배열을 채웁니다
rnArray = Range("A1:H24")
'배열의 값들을 다른 셀 범위에 출력합니다
Range("J1:Q24") = rnArray()
End Sub
셀 범위가 배열에 입력되고 배열 값들이 시트의 다른 셀 범위에 출력됩니다.
배열을 반복하여 데이터 출력하기
이 예제는 배열을 반복하여 배열 값들을 범위에 출력합니다.
Public Sub TestLoopArray()
'배열을 선언합니다
Dim rnArray() As Variant
'배열의 인덱스로 사용할 변수를 선언합니다
Dim iRw As Integer
'배열 변수에 셀 범위를 할당합니다
rnArray = Range("A1:A10")
'배열을 반복합니다
For iRw = LBound(rnArray) To UBound(rnArray)
'다른 범위에 배열 값 데이터를 입력합니다
Cells(iRw, 2).Value = rnArray(iRw, 1)
Next iRw
End Sub
LBound 와 UBound는 배열의 시작 인덱스(하한)와 끝 인덱스(상한)를 반환합니다(이 경우 1과 10).
배열 데이터 행/열 바꾸기
배열의 데이터를 Excel 시트로 옮기면서 행/열을 바꿀 수도 있습니다. 행/열 바꾸기를 사용하면 Excel 시트에서 데이터를 가로 방향으로 표시할 수 있습니다.
예를 들어 Excel에 도시 이름 목록이 있고 이 목록의 행/열을 바꾸고 싶다고 가정해 보겠습니다.
다음 코드를 사용하면 행/열을 바꿀수 있습니다:
Public Sub TestOutputTranspose()
'배열을 선언합니다
Dim rnArray() As Variant
'범위의 값으로 배열을 채웁니다
rnArray = Range("A1:A38")
'행/열을 바꾸어서 셀 범위에 데이터를 입력합니다
Range(Cells(1, 3), Cells(1, 40)).Value = Application.Transpose(rnArray)
End Sub
실행 결과는 다음과 같습니다:
Debug.Print를 사용하여 출력하기
배열 값을 디버그 창에 출력할 수도 있습니다.
Public Sub TestLoopArray()
'배열을 선언합니다
Dim rnArray() As Variant
'배열의 인덱스로 사용할 변수를 선언합니다
Dim iRw As Integer
'배열 변수에 셀 범위를 할당합니다
rnArray = Range("A1:A10")
'1에서 10까지 반복합니다
For iRw = 1 To UBound(rnArray)
'직접 실행 창에 결과를 표시합니다
Debug.Print rnArray(iRw, 1)
Next iRw
End Sub