엑셀 VBA 동적 배열
당신의 배열 증가의 크기와 배열의 크기를 수정하지 않으려면 ReDim을 키워드를 사용할 수 있습니다. 엑셀 VBA가 자동으로 배열의 크기를 변경합니다.
열 A에 몇 가지 숫자를 추가
워크 시트에 명령 단추를 놓고 다음 코드 줄을 추가
-
먼저, 우리는 배열이라는 숫자를 선언합니다. 또한 두 종류의 정수 변수를 선언. 하나라는 이름의 크기와 하나 내가 이름.
Dim numbers() As Integer, size As Integer, i As Integer
참고 : 배열은 아직 크기가 없습니다. 숫자, 크기, 나는 무작위 여기에 선택되어, 당신은 어떤 이름을 사용할 수 있습니다. 코드의 나머지 부분에서이 이름을 참조해야합니다.
-
다음에, 우리는 상기 어레이의 크기를 결정하고, 가변 사이즈로 저장한다. 당신은이에 대한 워크 시트 함수 COUNTA를 사용할 수 있습니다. 다음 코드 줄을 추가
size = WorksheetFunction.CountA(Worksheets(1).Columns(1))
-
우리는 이제 배열의 크기를 알고 우리는 그것을 redimension 수 있습니다. 다음 코드 줄을 추가
ReDim numbers(size)
-
다음으로, 우리는 상기 어레이의 각 요소를 초기화한다. 우리는 루프를 사용합니다.
For i = 1 To size numbers(i) = Cells(i, 1).Value Next i
(5) 우리가있는 MsgBox를 사용하여 어레이의 마지막 요소를 표시.
MsgBox numbers(size)
Visual Basic 편집기를 종료하고 시트에 명령 단추를 클릭하십시오 6.
결과 :
이제 제 명확 A. 컬럼에 번호를 추가하고, 이러한 동적 배열이라고 이유를
다시 명령 단추를 클릭하십시오 8.
결론 : 엑셀 VBA는 자동으로 동적 배열의 크기를 변경했습니다.
당신이 ReDim을 키워드를 사용하는 경우 9. 당신은 현재 배열에 저장된 기존 데이터를 삭제합니다. 예를 들어, 이전에 생성 된 코드에 다음 코드 줄을 추가
ReDim numbers(3) MsgBox numbers(1)
결과 :
배열은 비어 있습니다.
당신은 당신이 그것을 redimension 때 기존 배열에 데이터를 보존하려는 경우 10. 키워드 보존 사용합니다.
ReDim Preserve numbers(3) MsgBox numbers(1)
결과 :