티스토리 뷰

■ Range 매개변수로 데이터를 받아 배열을 반환하기

    - 모듈을 생성하여 아래의 코드를 붙여넣어 사용자 정의 함수를 생성한다.     

CODE
Function ReturnArray(rng As Range) As Variant
    Dim r, Arr() As Variant
    Dim i As Integer
    
    i = 0
    For Each r In rng
        ReDim Preserve Arr(i)
        Arr(i) = r
        i = i + 1
    Next r
    
    ReturnArray = Arr
        
End Function

   - O1셀에 수식을 입력하여 X1까지 드래그한 결과 (배열 미적용)

전달 범위   함수 실행결과
 
수식입력

   - O1~X1영역을 선정하여 배열수식 입력 결과 (배열 수식 적용)

전달범위 함수 실행결과
동일
수식입력

 

 

■ Range 매개변수로 데이터를 받아 Range을 반환하기

    - 모듈을 생성하여 아래의 코드를 붙여넣어 사용자 정의 함수를 생성한다.   

CODE
Function ReturnRange(rng As Range) As Variant
     
    Set ReturnRange = rng
        
End Function

  - O1셀에 다음 수식 입력 결과  : 

     =SUM(ReturnRange(A1:J1))

ReturnRange함수에 전달되는 범위 O1에 수식입력 실행결과