엑셀 배열에서 특정 열 추출 :: Extract_Column 함수 사용법

배열에서 지정한 열의 데이터를 추출하는 Extract_Column 함수의 사용법 및 동작원리를 살펴봅니다.

홈페이지 » 엑셀 배열에서 특정 열 추출 :: Extract_Column 함수

엑셀 VBA 배열 특정 열 추출 :: Extract_Column 함수 사용법 총정리

엑셀 Extract_Column 함수 목차 바로가기
요약

엑셀 Extract_Column 함수는 배열에서 지정한 열의 데이터를 추출하는 VBA 사용자 지정 함수입니다.

명령문 구문
= Extract_Column ( 배열, 열번호 )
사용된 인수 및 변수 알아보기
인수 설명
배열
[Variant]
특정 열을 추출할 배열입니다.
열번호
[Long]
배열에서 추출할 열의 열 번호입니다.

예제파일 다운로드

    상세 설명

    엑셀 Extract_Column 함수는 배열에서 지정한 열의 데이터를 추출하는 사용자 지정 함수입니다. 본 함수는 2차원 배열에서만 사용 가능합니다.

    Extract_Column 함수의 배열로 1차원배열 또는 3차원 이상 배열을 입력할 경우 9 런타임 오류, '아래첨자 사용이 잘못 되었습니다' 오류를 반환합니다.

    VBA 런타임 오류 9 아래첨자 사용지 잘못되었습니다.
    1차원/3차원 배열에서 사용시 런타임 오류를 반환합니다.
    실전 사용 예제

    배열 예제 ( 7 x 7 배열)

    a 1
    b 2
    c 3
    d 4
    e 5
    f 6
    g 7
    1. 배열에서 첫번째 열 추출하기
      Array = Extact_Column(Array, 1)
    2. 배열에서 세번째 열 추출하기
      Array = Extract_Column(Array,3)

    엑셀 VBA 배열 특정 열 추출, Extract_Column 명령문 동작원리

    Extract_Column 명령문 전체 코드
    '###############################################################
    '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
    '▶ Extract_Column 함수
    '▶ 배열에서 지정한 열을 추출합니다.
    '▶ 인수 설명
    '_____________DB        : 특정 열을 추출할 배열입니다.
    '_____________Col       : 배열에서 추출할 열의 열번호입니다.
    '▶ 사용 예제
    'Arr = Extract_Column(Arr, 3) '<- 3번째 열을 추출합니다.
    '##############################################################
     
    Function Extract_Column(DB As Variant, Col As Long) As Variant
     
    Dim i As Long
    Dim vArr As Variant
     
    ReDim vArr(LBound(DB) To UBound(DB), 1 To 1)
    For i = LBound(DB) To UBound(DB)
            vArr(i, 1) = DB(i, Col)
    Next
     
    Extract_Column = vArr
     
    End Function
    명령문 동작원리 단계별 알아보기
    1. 변수를 선언합니다.
      Dim i As Long
      Dim vArr As Variant
    2. 기존 배열의 크기와 동일한 높이를 가진 임시배열을 생성합니다.
      ReDim vArr(LBound(DB) To UBound(DB), 1 To 1)
    3. 기존 배열에서 지정한 열의 데이터를 임시 배열로 추출합니다.
      For i = LBound(DB) To UBound(DB)
      vArr(i, 1) = DB(i, Col)
      Next
    4. 임시 배열을 함수의 결과값으로 반환합니다.
      Extract_Column = vArr
    0 0 투표
    게시글평점