엑셀 ArrayDimension 함수 사용법 및 전체 명령문 :: 배열 차원계산

입력한 배열의 차원을 계산하는 ArrayDimension 함수의 사용법 및 전체 명령문 동작원리를 알아봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2020. 10. 12. 02:21
URL 복사
메모 남기기 : (9)

배열의 차원을 계산하는 명령문 :: ArrayDimension 함수

구문

ArrayDimension ( 배열 )

설명

엑셀 ArrayDimension 함수는 입력한 배열의 차원수를 반환하는 사용자 지정함수입니다. 배열의 기본 차원수는 1차원이며, 1차원 배열은 세로로 길게 나열된 형태입니다.

배열에서 차원이 늘어난다는 것은 행렬에서 '열'의 개수가 늘어나는 것과 동일합니다. 따라서, 차원당 4개의 데이터를 보관할 수 있는 (0 to 3) 배열의 차원이 1개씩 늘어난다고 가정할 경우, 저장되는 데이터량은 아래와 같이 증가합니다.

  • 1차원 : 4개
  • 2차원 : 4 x 4 = 16개
  • 3차원 : 4 x 4 x 4 = 64개 ...
엑셀 배열 차원 설명
배열의 차원이 증가하는 것은 열의 개수가 늘어나는 것과 동일합니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.


ArrayDimension 명령문 전체 코드
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'▶ ArrayDimension 함수
'▶ 배열의 차원수를 반환합니다.
'▶ 인수 설명
'_____________vaArray     : 차원을 검토할 배열을 입력합니다.
'###############################################################
Function ArrayDimension(vaArray As Variant) As Integer
 
Dim i As Integer: Dim x As Integer
 
On Error Resume Next
 
Do
    i = i + 1
    x = UBound(vaArray, i)
Loop Until Err.Number <> 0
 
Err.Clear
 
ArrayDimension = i - 1
 
End Function

ArrayDemension 함수 상세설명

사용예제
Sub Test()
 
Dim vaArray1 As Variant
Dim vaArray2 As Variant
 
ReDim vaArray1(0 To 3, 0 To 3)
ReDim vaArray2(0 To 3, 0 To 3, 0 To 3)
 
MsgBox "vaArray1 의 차원은 " & ArrayDimension(vaArray1) & "차원 입니다."
MsgBox "vaArray2 의 차원은 " & ArrayDimension(vaArray2) & "차원 입니다."
 
End Sub
인수설명

ArrayDimensnion 함수에는 1개의 인수가 들어갑니다.

  • vaArray : 차원을 확인할 배열입니다.
명령문 동작원리

받아온 배열보다 높은 차원의 값을 호출할 경우, 그 값은 존재하지 않는 값이므로 명령문을 오류를 반환합니다.

  1. i 를 1씩 더하며, 한단계씩 높은 차원의 최대 위치값을 계산합니다. On Error Resume Next  구문으로 오류 발생시 오류를 출력하지 않고 다음단계로 넘어갑니다.
    On Error Resume Next
  2. Do / Until 을 통해 오류를 반환하기전까지 해당 작업을 반복합니다.
    만약 받아온 배열보다 높은 차원의 값을 출력할 경우 명령문은 오류를 반환하며 다음 단계로 넘어갑니다.

    Do
        i = i + 1
        x = UBound(vaArray, i)
    Loop Until Err.Number <> 0
  3. 발생한 오류를 소거한 뒤, 배열의 차원을 ArrayDimension 결과값으로 출력합니다.
    Err.Clear
     
    ArrayDimension = i - 1

링크] MS 홈페이지 배열 차원작업에 대한 상세설명 바로가기

4.9 9 투표
게시글평점
9 댓글
Inline Feedbacks
모든 댓글 보기
9
0
여러분의 생각을 댓글로 남겨주세요.x