Excel VBA 배열 | 상위 5 개 유형의 어레이 목록 (예제 포함)

Excel VBA 배열

일반적으로 하나의 변수는 한 번에 하나의 값을 보유해야하지만 단일 변수에 여러 값을 저장하려는 경우 이러한 유형의 변수를 배열 변수라고합니다. VBA에서 배열 변수를 사용하려면 다음을 선언해야합니다. 먼저 정의하면 길이가 있거나없는 배열 변수를 정의 할 수 있습니다.

수백 개의 행과 여러 열을 포함하는 데이터가 있고 데이터를 사용할 코드를 만들어야한다고 가정합니다. 이제이 경우 셀에서 값을 가져와 프로그램에 제공 할 변수의 배수를 만들어야합니다. 이렇게 많은 변수를 생성하는 것은 매우 피곤할 것이므로 이러한 경우 Excel에서 배열을 사용합니다.

배열은 데이터 세트를 메모리에 보관하며 데이터에서 가져와야하는 각 값에 대한 변수를 선언 할 필요가 없습니다. 배열을 사용해야하는 이유는 Excel 변수에서 한 번에 하나의 값을 보유하도록 설계 되었기 때문입니다. 그러나 변수에 의해 여러 값이 저장되면 배열이됩니다.

  • 어레이를 만드는 것은 데이터를 저장할 수있는 별도의 메모리 장치를 만드는 것과 같습니다. 배열을 만들려면 데이터가 동일한 유형이어야합니다.
  • Excel에 제공하는 배열은 보유한 데이터 유형과 일치해야합니다. 행만있는 데이터가있는 경우이 경우 "1 차원 배열"을 사용하고 데이터에 열도 포함되어 있으면 값만 보유 할 수있는 "2 차원 배열"을 사용해야합니다. 행과 열에서.
  • 또한 배열은 동적 배열 또는 정적 배열로 작동하도록 기능해야합니다. 수식에 동적 범위를 부여하면 배열 변수를 만들 수도 있습니다. 동적 배열에는 행과 열의 무한대를 포함하는 기능이 있습니다. 정의한 배열이 정적 유형 인 경우 배열 생성시 정의 된 제한된 수의 행과 열만 보유 할 수 있습니다.

설명

배열은 위치에 의해서만 데이터를 식별하는 "행렬의 수학 규칙"에서 작동합니다. VBA가“B3”셀에“20”이 필요하다는 것을 이해해야한다면 첫 번째 값이 행의 위치를 ​​나타내고 두 번째 값이 나타내는 위치 코드를 (3, 2)로 작성해야합니다. 열 번호. Excel 세계에서 이러한 위치 코드를 "상한"및 "하한"이라고합니다. 기본적으로 Excel의 위치는 0이 아닌 1부터 시작하므로 Excel은 "A1"을 행 번호 1이 아닌 행 번호 0으로 간주합니다.

마찬가지로 열은 1이 아닌 0에서 시작합니다.

이러한 배열은 정적 배열 또는 동적 배열로 정의 할 수 있습니다. 정적 배열로 정의하면 코딩하는 동안 정의 된 변수보다 더 많이 보유 할 수 없습니다. 배열이 기억하는 데 필요한 값이 확실하지 않은 경우 동적 배열을 만들고 이러한 경우 값을 무한대로 유지할 수 있습니다.

이제 필요한 배열 유형을 선택한 후 이제 이러한 배열에 데이터를 입력해야합니다.

이 데이터는 다음과 같은 방식으로 탁월하기 위해 하나씩 제공되어야합니다.

데이터가 이러한 배열에 저장되면 VBA 코딩에서 변수로 사용할 수 있습니다.

상위 5 개 유형의 어레이 목록

  1. 정적 배열
  2. 동적 배열
  3. 1 차원 배열
  4. 2 차원 배열
  5. 다차원 배열

각각 자세히 살펴 보겠습니다.

# 1 – 정적 어레이

저장할 수있는 값의 미리 정의 된 개수가있는 배열입니다.

# 2 – 동적 배열

처리 할 수있는 미리 정의되지 않은 값 개수가있는 배열입니다.

# 3 – 1 차원 배열

행 또는 열의 데이터 만 보유 할 수있는 배열입니다.

# 4 – 2 차원 배열

행과 열의 값을 저장할 수있는 배열입니다.

# 5 – 다차원 배열

VBA에서 배열을 사용하는 방법 (예제 포함)?

여기에서 VBA Excel 템플릿의 배열을 다운로드 할 수 있습니다 – VBA Excel 템플릿의 배열

배열은 여러 상황에서 사용할 수 있지만 선언 할 변수의 수가 많아 선언 할 수없는 경우 사용해야합니다.

아래는 몇 가지 예제이지만 예제로 이동하기 전에 바로 가기 키로 VBA 편집기를 여는 방법을 배웁니다.

그러면 VBA 편집기가 열리 며 여기에서 "이 워크 시트"에 코드를 입력해야합니다.

예 1

원하는 배열 유형을 선택하십시오. 동적 또는 정적 배열이어야합니까?

동적 배열이 필요한 경우 차원을 "변형"으로 정의합니다.

정적 배열이 필요한 경우 차원을 "Static"으로 정의합니다.

예제 # 2

배열에 저장할 열과 행을 정의하십시오.

괄호 안에 "1"을 입력했다면 이는 엑셀 계수가 0부터 시작하기 때문에 배열이 2 행 값을 보유 할 수 있음을 의미합니다.

열과 행도 필요하면 둘 다 정의해야합니다.

여기서 "1 to 2"는 2 개의 행을 의미하고 "1 to 3"은 3 개의 열을 의미합니다.

여기에서 Excel이 행을 계산하는 방법에 대한 규칙을 변경하고 0이 아닌 "1"부터 계산하도록 요청했습니다.

예제 # 3

배열의 데이터 입력입니다.

데이터는 현명하게 셀에 입력되어야합니다. 여기서 데이터는 (I, j) 형식으로 입력됩니다. 여기서 "I"는 행을 의미하고 "J"는 열을 의미합니다.

따라서 "a (1,1")는 "A1"셀을 의미합니다.

예 # 4

코드 닫기.

어레이에 대한 데이터를 입력 한 후 마지막 단계는 코드를 닫는 것입니다.

기억해야 할 사항

  • 기본적으로 Excel은 0부터 시작하는 행을 계산합니다. 즉, "I"대신 "2"는 2 개 행이 아닌 3 개 행을 의미합니다. 이것은 "J"에도 동일하게 적용됩니다.
  • 배열에 입력해야하는 데이터는 첫 번째 행과 첫 번째 열에있는 (0, 0)에서 시작해야합니다.
  • 동적 배열을 사용하는 경우 기억해야하는 행과 열의 수를 정의하기 위해 "VBA REDIM"기능이 필요합니다.
  • 2 차원 배열을 만드는 경우 차원으로 "Integer"를 사용해야합니다.
  • Excel 파일은 "매크로 호환"버전으로 저장해야합니다. 그렇지 않으면 VBA에서 수행 한 코딩이 사라지고 다음에 실행되지 않습니다.