VBA에서 배열(Array)은 동일한 데이터 유형의 여러 값을 하나의 변수에 저장할 수 있도록 도와주는 중요한 기능입니다. 배열을 사용하면 여러 개의 변수를 각각 선언하는 대신 하나의 변수로 다룰 수 있어 코드가 간결해지고 효율성이 높아집니다.
1. 배열의 선언과 사용
배열을 선언할 때 Dim 키워드를 사용하며, 배열의 크기를 지정해야 합니다.
Dim numbers(4) As Integer ' 0부터 4까지 총 5개의 정수 저장
배열 요소는 인덱스를 통해 접근할 수 있으며, VBA에서는 기본적으로 인덱스가 0부터 시작합니다.
배열 예제
Sub ArrayExample()
Dim numbers(4) As Integer
numbers(0) = 10
numbers(1) = 20
numbers(2) = 30
numbers(3) = 40
numbers(4) = 50
Dim i As Integer
For i = 0 To 4
MsgBox "numbers(" & i & ") = " & numbers(i)
Next i
End Sub
이 코드에서는 numbers 배열에 5개의 값을 저장하고, For 루프를 사용하여 각 값을 출력합니다.
2. 2차원 배열의 선언과 사용
2차원 배열은 행과 열을 가지는 배열로, 테이블 형태의 데이터를 저장하는 데 유용합니다.
Dim matrix(2, 2) As Integer ' 3x3 배열 선언 (0~2, 0~2)
2차원 배열 예제
Sub TwoDimArrayExample()
Dim matrix(2, 2) As Integer
matrix(0, 0) = 1
matrix(0, 1) = 2
matrix(0, 2) = 3
matrix(1, 0) = 4
matrix(1, 1) = 5
matrix(1, 2) = 6
matrix(2, 0) = 7
matrix(2, 1) = 8
matrix(2, 2) = 9
MsgBox "Matrix center value: " & matrix(1, 1)
End Sub
이 코드에서는 3x3 크기의 2차원 배열을 생성하고, 값을 할당한 후 중앙 값(matrix(1,1))을 출력합니다.
3. 동적 배열 사용
동적 배열은 크기를 미리 지정하지 않고, 실행 중에 ReDim을 사용하여 크기를 변경할 수 있습니다. Preserve 키워드를 사용하면 기존 데이터를 유지하면서 크기를 조정할 수 있습니다.
Dim dynArray() As Integer ' 크기를 지정하지 않음
동적 배열 예제
Sub DynamicArrayExample()
Dim dynArray() As Integer
Dim i As Integer
ReDim dynArray(2) ' 배열 크기 설정 (3개의 요소)
For i = 0 To 2
dynArray(i) = (i + 1) * 10
Next i
ReDim Preserve dynArray(4) ' 배열 크기 확장, 기존 데이터 유지
dynArray(3) = 40
dynArray(4) = 50
For i = 0 To 4
MsgBox "dynArray(" & i & ") = " & dynArray(i)
Next i
End Sub
이 코드에서는 dynArray 배열을 먼저 3개의 요소로 선언한 후, ReDim Preserve를 사용하여 크기를 5개로 확장하고 데이터를 유지하면서 새로운 값을 추가합니다.
이와 같이 VBA에서 배열을 활용하면 여러 개의 데이터를 효율적으로 관리할 수 있습니다. 배열을 적절히 사용하면 반복적인 작업을 줄이고, 코드의 가독성을 높일 수 있습니다.
'VBA' 카테고리의 다른 글
| 엑셀(Excel) VBA GoTo 문으로 이동하기 (0) | 2025.02.09 |
|---|---|
| 엑셀(Excel) VBA IF 문 함수 (0) | 2025.02.09 |
| VBA 변수와 예제 (0) | 2025.02.08 |
| 매크로 기록기 사용하기 (0) | 2023.03.27 |
| 리본 메뉴에 "개발도구" 탭 표시하기 (0) | 2023.03.14 |