반응형
Range를 Return 하려면 아래와 같이 하면 됩니다.
Public Function Test(c1 As String, r1 As Long, c2 As String, r2 As Long) As Variant
Set Test = Range(c1 & r1 & ":" & c2 & r2)
End Function
Sub 이 아니라 Function을 만들면 값을 Return 할 수 있습니다.
마지막에 As Variant 를 하면 Range를 Return 할 수 있습니다.
Variant 데이터 타입은 이미 지정된 데이터 타입 이외의 데이터 타입을 다룰 때 사용할 수 있습니다. user-defined 타입도 이 Variant 타입을 사용해서 다루면 됩니다. 그리고 Empty, Error, Nothing, Null 등도 이 Variant 로 처리합니다.
여기로 가시면 좀 더 자세한 정보를 얻을 수 있습니다.
그럼 이 Range를 return 하는 함수를 사용해 보겠습니다.
Sub Sample()
Dim Ret As Range
Set Ret = Test("A", 1, "C", 5)
Ret.Select
End Sub
Ret라는 Range 변수를 지정하고 이 변수에 Test에서 return 받은 Range를 담아 둡니다.
파라미터 값은 A,1,C,5를 전달 합니다.
그럼 Range는 A1에서 C5 까지가 될겁니다.
그 다음에는 이 Ret를 Select 합니다.
이 Sample()을 실행하면 이와 같이 A1에서부터 C5까지 선택됩니다.
반응형
'etc. > Excel Programming' 카테고리의 다른 글
[VBA] 디버깅 툴 알아보기 (0) | 2014.03.03 |
---|---|
[VBA] 어제 작업해 놓은 프로그래밍 정리 (1) | 2014.02.27 |
[VBA] Userform 만들기 (0) | 2014.02.21 |
[VBA] Developer 메뉴 보이게 하기 (0) | 2014.02.21 |
[VBA] inputBox 살펴보기 (0) | 2014.02.20 |
[VBA] 엑셀과 Teradata 연동하기 (0) | 2014.02.07 |
[VBA] 두 Sheet안의 데이터들 비교하기 (4) | 2014.02.06 |
[VBA] 다른 함수 호출하기/파라미터 전달하기 (2) | 2014.02.05 |
VBA (Excel) - 필터링 한 후 합계 구하기 (0) | 2014.01.07 |
VBA (Excel) - 특정 Column 의 합계 구하기 (0) | 2014.01.06 |