Excel VBA 배열: VBA에서 배열의 정의, 사용 방법 및 유형
VBA 배열이란 무엇입니까?
배열은 하나 이상의 값을 저장할 수 있는 메모리 위치로 정의됩니다. 값은 모두 동일한 데이터 유형이어야 합니다. 좋아하는 음료 목록을 단일 변수에 저장하려는 경우 VBA 배열을 사용하여 이를 수행할 수 있습니다.
배열을 사용하면 같은 이름으로 관련된 값을 참조할 수 있습니다. 색인이나 아래 첨자를 사용하여 구분할 수 있습니다. 개별 값은 Excel VBA 배열의 요소라고 합니다. 인덱스 0부터 가장 높은 인덱스 값까지 연속되어 있습니다.
이 튜토리얼에서는 다음을 사용하고 있다고 가정합니다. Microsoft 뛰어나다 버전 2013. 이 지식은 다른 버전에도 여전히 적용됩니다. Microsoft 엑셀도 그렇고.
배열의 장점은 무엇입니까?
다음은 VBA 배열 함수가 제공하는 몇 가지 이점입니다.
- 논리적으로 관련된 데이터를 함께 그룹화합니다. 학생 목록을 저장한다고 가정해 보겠습니다. 유치원, 초등학교, 중등학교, 고등학교 등 학생 범주에 대해 별도의 위치가 있는 단일 배열 변수를 사용할 수 있습니다.
- 배열을 사용하면 유지 관리 가능한 코드를 쉽게 작성할 수 있습니다. 논리적으로 관련된 동일한 데이터에 대해 두 개 이상의 변수를 정의하는 대신 단일 변수를 정의할 수 있습니다.
- 더 나은 성능 – 배열이 정의되면 데이터를 검색, 정렬 및 수정하는 속도가 더 빨라집니다.
VBA의 배열 유형
VBA는 두 가지 유형의 배열을 지원합니다.
- 정적인 – 이러한 유형의 배열에는 저장할 수 있는 요소 수가 미리 결정되어 있습니다. 정적 배열의 데이터 유형 크기는 변경할 수 없습니다. 이는 일주일의 일수, 성별 등과 같이 알려진 엔터티로 작업하려는 경우 유용합니다.예를 들면: Dim ArrayMonth(12) 문자열로
- 동적 – 이러한 유형의 배열에는 저장할 수 있는 미리 결정된 고정 개수의 요소가 없습니다. 이는 숫자를 미리 결정할 수 없는 엔터티로 작업할 때 유용합니다.예를 들면: Dim ArrayMonth()를 변형으로 사용
배열을 선언하는 구문
정적 배열
선언 구문 STATIC 배열은 다음과 같습니다:
Dim arrayName (n) as datatype
이리,
암호 | 동작 |
---|---|
Dim arrayName (n) 데이터 유형 |
|
동적 배열
선언 구문 동적 배열은 다음과 같습니다:
Dim arrayName() as datatype ReDim arrayName(4)
이리,
암호 | 동작 |
---|---|
Dim arrayName () 데이터 유형 |
|
배열 이름 재배치(4) |
|
어레이 크기
배열은 XNUMX차원, XNUMX차원 또는 다차원일 수 있습니다.
- XNUMX차원: 이 차원에서는 배열이 하나의 인덱스만 사용합니다. 예를 들어, 각 연령대의 사람들 수입니다.
- XNUMX차원: 이 차원에서는 배열이 두 개의 인덱스를 사용합니다. 예를 들어, 각 학급에는 여러 명의 학생이 있습니다. 수업 수와 각 수업의 학생 수가 필요합니다.
- 다차원: 이 차원에서는 배열이 두 개 이상의 인덱스를 사용합니다. 예를 들어 낮 동안의 온도입니다. ( 30, 40, 20).
Excel VBA에서 배열을 사용하는 방법
간단한 애플리케이션을 만들 것입니다. 이 애플리케이션은 배열 변수의 데이터로 Excel 시트를 채웁니다. 이 VBA 배열 예제에서 우리는 다음과 같은 작업을 할 것입니다.
- 새 항목 만들기 Microsoft Excel 통합 문서를 Excel 매크로 사용 통합 문서(*.xlsm)로 저장합니다.
- 통합 문서에 명령 단추 추가
- 명령 단추의 이름 및 캡션 속성 설정
- Excel 시트를 채우는 VBA 프로그래밍
이 연습을 단계별로 해보자.
1단계 - 새 통합 문서 만들기
- 엽니다 Microsoft 뛰어나다
- 새 통합 문서를 VBA Arrays.xlsm으로 저장합니다.
2단계 - 명령 버튼 추가
참고 : 이 섹션에서는 사용자가 Excel에서 인터페이스를 만드는 과정에 익숙하다고 가정합니다. 익숙하지 않다면 튜토리얼을 읽어보세요. VBA Excel 양식 제어 및 ActiveX 제어. 인터페이스를 만드는 방법을 보여줍니다.
- 시트에 명령 단추 추가
- 이름 속성을 cmdLoadBeverages로 설정합니다.
- 캡션 속성을 음료 로드로 설정합니다.
이제 GUI는 다음과 같아야 합니다.
3단계 - 파일 저장
- 다른 이름으로 저장 버튼을 클릭하세요
- 아래 이미지와 같이 Excel 매크로 사용 통합 문서(*.xlsm)를 선택합니다.
4단계 - 코드 작성
이제 애플리케이션에 대한 코드를 작성하겠습니다.
- 음료 로드 버튼을 마우스 오른쪽 버튼으로 클릭하고 코드 보기를 선택합니다.
- cmdLoadBeverages의 클릭 이벤트에 다음 코드를 추가합니다.
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(1) = "Pepsi" Drinks(2) = "Coke" Drinks(3) = "Fanta" Drinks(4) = "Juice" Sheet1.Cells(1, 1).Value = "My Favorite Beverages" Sheet1.Cells(2, 1).Value = Drinks(1) Sheet1.Cells(3, 1).Value = Drinks(2) Sheet1.Cells(4, 1).Value = Drinks(3) Sheet1.Cells(5, 1).Value = Drinks(4) End Sub
이리,
암호 | 동작 |
---|---|
Dim Drinks(1 ~ 4) 문자열로 |
|
음료수(1) = “펩시” |
|
Sheet1.Cells(1, 1).Value = “내가 가장 좋아하는 음료.” |
|
Sheet1.Cells(2, 1).Value = Drinks(1) |
|
응용 프로그램 테스트
개발자 탭을 선택하고 디자인 모드 버튼이 "꺼짐"인지 확인하세요. 표시기는 유색(녹색) 배경이 아닌 흰색 배경을 갖는다는 것입니다. (아래 이미지 참조)
음료 로드 버튼을 클릭하세요.
다음과 같은 결과가 나옵니다
위 코드가 포함된 Excel을 다운로드하세요.
요약
- 배열은 하나 이상의 값을 저장할 수 있는 변수입니다.
- Excel VBA 정적 및 동적 배열을 지원합니다.
- 배열을 사용하면 논리적으로 관련된 데이터에 대해 많은 변수를 선언하는 것에 비해 유지 관리 가능한 코드를 쉽게 작성할 수 있습니다.