본문 바로가기
Coding/Excel VBA

동적 배열 사용하기

by 그냥그렇듯이 2018. 10. 9.
반응형

동적 배열은 배열 요소 개수를 정의하지 않고 선언하는 배열을 의미한다. 배열의 행과 열의 수가 정해지는 지점에서 ReDim문으로 개수를 재정의한다.

Dim matNumber() As Integer //동적 배열 선언//

...

ReDim matNumber (1 To 20)  //20개의 배열 요소로 크기 정의//

...

ReDim matNumber(1 To 40) // 40개의 배열 요소로 크기 재정의//

ReDim 문을 재사용한 경우 (1 To 40), 이전에 배열에 저장된 값(1 To 20)은 모두 사라진다. 이전 값을 유지하려면 ReDim Preserve 키워드를 사용해야 한다.

ReDim Preserve matNumber (1 To 20)

ReDim 문은 2차원 이상의 다차원 배열에 사용할 때 제약이 있다. 바로 마지막 차원만 크기를 변경할 수 있다는 것이다. 즉, 행과 열 중에 열 값만 재정의가 가능하다.

ReDim stringData(5,11) //배열 크기 정의

ReDim stringData(5,30) //배열 크기 재정의 (마지막 차원(열)만 변경가능

댓글