배열변수
배열을 저장할 수 있는 배열변수는 별도 표시가 없는 경우 인덱스 번호 0부터.(필요한 변수 갯수보다 하나 적은 숫자 기입)
인덱스 번호를 1부터 사용하려면 to를 함께 사용
Dim 배열변수(9) As String ' 10개의 변수 저장 가능
Dim 배열변수(1 to 10) As String '10개의 변수 저장 가능
다차원 배열변수
2차원 배열이 제일 많이 사용됨
R * C 형태로 사용됨(Row * Column)
로또 결과를 50회차까지 저장하려면 50*6 형태를 사용.
Dim 로또누적(1 to 50, 1 to 6)
로또누적(1, 1) = 2
로또누적(1, 2) = 11
로또누적(1, 3) = 16
.
.
.
로또누적(50, 4) = 30
로또누적(50, 5) = 37
로또누적(50, 6) = 41
동적 배열변수
배열변수에 들어갈 개수를 정확히 모르는 경우 동적 배열변수 사용
선언할 때는 ( )만 사용하고 ReDim 문으로 변수 크기 조정.
1 2 3 4 5 6 7 | Dim 변수명() As 데이터 형식 Redim 변수명 (1 to 3) ' 변수 크기 3으로 재정의 변수명(1) = 10 ' 첫번째 변수에 10 입력 Redim Preserve 변수명 (1 to 10) ' Preserve 키워드 - 이미 입력된 변수 데이터 보존 | cs |
동적 배열변수를 다차원 배열변수에 사용할 경우 주의할 점은 Preserve 키워드를 사용할 경우 1차원에 해당하는 Row값은 변경할 수 없고 2차원에 해당하는 Column값만 변경할 수 있다.
즉 , 아래 예시처럼 (50 * 6) 형식으로 2차원 배열변수를 선언했을 때 2차원에 해당하는 6을 변경하는 것은 가능하지만, 1차원의 50을 변경하는 것은 불가능하다.
덧.
Preserve 키워드를 사용하지 않는다면 1차원 배열 크기를 변경하는 것도 가능하다.
'Excel > VBA 공부' 카테고리의 다른 글
얼렁뚱땅 엑셀 VBA] 매개변수의 전달 - ByRef, ByVal (0) | 2017.05.24 |
---|---|
얼렁뚱땅 엑셀 VBA] Function 프로시저 (0) | 2017.05.23 |
얼렁뚱땅 엑셀 VBA] 순환문(For ~ Next / For Each ~ Next) (0) | 2017.05.21 |
얼렁뚱땅 엑셀 VBA] 조건문(Select Case문) (0) | 2017.05.20 |
얼렁뚱땅 엑셀 VBA] 조건문(If~Then~Else문 / IIf문) (0) | 2017.05.19 |
얼렁뚱땅 엑셀 VBA] 변수, 상수, 개체변수 (0) | 2017.05.17 |
얼렁뚱땅 엑셀 VBA] 프로시저 (Public / Private 프로시저) (0) | 2017.05.16 |
얼렁뚱땅 엑셀 VBA] With ~ End With 구문 (0) | 2017.05.15 |
얼렁뚱땅 엑셀 VBA] 오브젝트(개체)를 간단하게 표현하고 접근하기 - 단축 접근자 (1) | 2017.05.13 |
얼렁뚱땅 엑셀 VBA] 오브젝트(개체), 컬렉션, 속성, 매서드 개념 (0) | 2017.05.11 |
댓글