Microsoft Excel
Excel VBA - 배열
D13
2025. 3. 9. 13:04
728x90
반응형
SMALL

엑셀 함수 시리즈 #47: VBA 배열 - 데이터 처리 효율성 극대화의 핵심
VBA(Visual Basic for Applications) 배열은 동일한 데이터 형식의 여러 요소를 하나의 변수에 저장하고 관리하는 데 유용한 도구입니다. 배열을 사용하면 데이터를 효율적으로 처리하고 코드의 가독성을 높일 수 있습니다. 이번 글에서는 VBA 배열의 기본 개념과 생성 방법, 활용 예시를 알아보겠습니다.
1. 배열이란?
배열은 동일한 데이터 형식의 여러 요소를 순차적으로 저장하는 데이터 구조입니다. 각 요소는 인덱스를 통해 접근할 수 있습니다.
2. 배열 선언 방법
- 정적 배열: 배열의 크기를 미리 지정합니다.
VBA
Dim 배열명(인덱스범위) As 데이터형식
- 배열명: 배열의 이름을 지정합니다.
- 인덱스범위: 배열의 인덱스 범위를 지정합니다. (예: 0 To 9, 1 To 10)
- 데이터형식: 배열 요소의 데이터 형식을 지정합니다.
- 동적 배열: 배열의 크기를 실행 중에 변경할 수 있습니다.
VBA
Dim 배열명() As 데이터형식
ReDim 배열명(인덱스범위)
- ReDim: 배열의 크기를 변경하는 키워드입니다.
- ReDim Preserve: 배열의 기존 데이터를 유지하면서 크기를 변경합니다.
3. 배열 요소 접근 방법
배열 요소는 인덱스를 사용하여 접근합니다.
VBA
배열명(인덱스)
4. 배열 활용 예시
- 정적 배열 예시
VBA
Sub StaticArrayExample()
Dim scores(1 To 5) As Integer
Dim i As Integer
For i = 1 To 5
scores(i) = i * 10
Next i
MsgBox scores(3) ' 3번째 요소 출력
End Sub
- 동적 배열 예시
VBA
Sub DynamicArrayExample()
Dim names() As String
Dim i As Integer
Dim count As Integer
count = InputBox("이름 개수를 입력하세요.")
ReDim names(1 To count)
For i = 1 To count
names(i) = InputBox(i & "번째 이름을 입력하세요.")
Next i
MsgBox names(2) ' 2번째 요소 출력
End Sub
- 다차원 배열 예시
VBA
Sub MultiDimensionalArrayExample()
Dim matrix(1 To 3, 1 To 3) As Integer
Dim i As Integer, j As Integer
For i = 1 To 3
For j = 1 To 3
matrix(i, j) = i * j
Next j
Next i
MsgBox matrix(2, 3) ' 2행 3열 요소 출력
End Sub
5. 배열 관련 함수
- UBound(배열명, 차원): 배열의 지정된 차원의 최대 인덱스를 반환합니다.
- LBound(배열명, 차원): 배열의 지정된 차원의 최소 인덱스를 반환합니다.
- Array(요소1, 요소2, ...): 배열을 생성하고 초기화합니다.
- Split(문자열, 구분자): 문자열을 구분자를 기준으로 분리하여 배열로 반환합니다.
- Join(배열명, 구분자): 배열의 요소를 구분자를 사용하여 문자열로 결합합니다.
6. 마무리
VBA 배열을 이해하고 사용하면 데이터를 효율적으로 처리하고 코드의 가독성을 높일 수 있습니다. 다양한 예제를 통해 배열 사용 방법을 익히고 VBA 코딩 능력을 향상시키세요.
728x90
반응형
LIST