Microsoft Excel

Excel VBA - 배열

D13 2025. 3. 9. 13:04
728x90
반응형
SMALL
Excel

 
 

엑셀 함수 시리즈 #47: VBA 배열 - 데이터 처리 효율성 극대화의 핵심

VBA(Visual Basic for Applications) 배열은 동일한 데이터 형식의 여러 요소를 하나의 변수에 저장하고 관리하는 데 유용한 도구입니다. 배열을 사용하면 데이터를 효율적으로 처리하고 코드의 가독성을 높일 수 있습니다. 이번 글에서는 VBA 배열의 기본 개념과 생성 방법, 활용 예시를 알아보겠습니다.

1. 배열이란?

배열은 동일한 데이터 형식의 여러 요소를 순차적으로 저장하는 데이터 구조입니다. 각 요소는 인덱스를 통해 접근할 수 있습니다.

2. 배열 선언 방법

  1. 정적 배열: 배열의 크기를 미리 지정합니다.
VBA
 
Dim 배열명(인덱스범위) As 데이터형식
  • 배열명: 배열의 이름을 지정합니다.
  • 인덱스범위: 배열의 인덱스 범위를 지정합니다. (예: 0 To 9, 1 To 10)
  • 데이터형식: 배열 요소의 데이터 형식을 지정합니다.
  1. 동적 배열: 배열의 크기를 실행 중에 변경할 수 있습니다.
VBA
 
Dim 배열명() As 데이터형식
ReDim 배열명(인덱스범위)
  • ReDim: 배열의 크기를 변경하는 키워드입니다.
  • ReDim Preserve: 배열의 기존 데이터를 유지하면서 크기를 변경합니다.

3. 배열 요소 접근 방법

배열 요소는 인덱스를 사용하여 접근합니다.

VBA
 
배열명(인덱스)

4. 배열 활용 예시

  1. 정적 배열 예시
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
  1. 동적 배열 예시
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
  1. 다차원 배열 예시
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