mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Wednesday, November 15, 2006

Excel/엑셀] VBA 함수(Function) 정의; 비베로, 사용자 정의 함수 만들기


엑셀에서는 VBA 즉 비베로, 자신이 함수를 직접 만들어서 사용할 수 있습니다.

다음은, 어떤 숫자를 입력받아서, 그 숫자에 2를 곱한 후, 돌려주는 간단한 함수입니다.

Function foo(x)

  foo = x * 2

End Function

엑셀에서 Alt+F11키를 눌러, 비베 에디터를 호출한 후, 비베 에디터 메뉴에서

삽입 > 모듈

로 모듈을 만든 후, 위의 함수 코드를 복사해 넣으면 됩니다.


(x) 이런 괄호 속의 변수는, 매개변수 즉 파라미터(인수)입니다. 엑셀의 셀에서 직접 지정해주거나, 주소를 사용해 간접적으로 지정해준 값이 x 에 대입됩니다. 그러면 그 x 라는 값을 함수 내부에서 어떤 조작을 가한 후, 그 결과값을 반환합니다.

반환값을 돌려줄 때에는, 위와 같이, 함수 자신의 이름에 결과값을 대입하면 됩니다.



엑셀에서 함수 사용 예제


가장 첫번째 셀인 A1 셀에 6 이라는 값을 입력하고

B1 셀에, 방금 만든 foo 라는 함수를

=foo(A1)

이렇게 입력하면, A1 셀에 있는 6 이라는 값에 2가 곱해져서

B1 셀에는 12라는 값이 출력됩니다. foo() 함수가 12라는 값을 반환한 것입니다.


만약 A1 셀에 6000.5 라는 값을 입력하면,

foo()라는 함수가 있는 B1셀의 값은 2배인 12001 로 변합니다.




Function문과, Sub문의 차이 점


Function 프로시저는 어떤 값을 반환하기에 수식의 일부로서 사용될 수 있습니다. 예를 들어

=foo(A1) + 10

이렇게 사용할 수도 있습니다. 이러면 foo() 함수의 결과값에 10 이 더해집니다.


그러나 Sub 프로시저는 반환값이 없기에, 수식의 일부로 사용할 수 없습니다. 그냥 서브루틴일 뿐입니다.




tag: office
엑셀 Excel | 워드 Word | VBA 매크로 | 오피스

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top