1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

sub과function차이

VBA 조회 수 4618 추천 수 0 2012.08.07 00:27:27

VBA를 쓸때 sub만은 사용했는데 요즘 function이라는걸 처음배웠습니다.둘의차이를 설명을 들었는데 너무어려워서 이해를 못했습니다ㅋ sub과function의차이를 이해하기쉽게설명부탁드립니다.ㅋ


댓글 '4'

[레벨:1]최종원

2012.08.07 00:56:48
*.55.53.238

function은 함수로도 사용이가능하다는점?..

profile

[레벨:30]아별

2012.08.07 02:12:31
*.130.73.75

안녕하세요? snail0513님..

닉네임 타이핑 치기가 힘들군요.. ㅎㅎ

 

VBA에서 사용되는 프로시저에는 3가지 있습니다.

Sub 프로시저, Function 프러시저, Property 프로시저

 

Sub Procedure: 어떤 동작 또는 연산 후에 반환 값이 없는 경우에 사용합니다. 일반적으로 이것을 많이 사용합니다.

Function Procedure : 반환값이 있는 경우 사용합니다.

                                  최정원님이 말씀하신 것처럼 사용자 정의 함수로도 사용할 수 있습니다.

                                  사용자 정의 함수로 사용하시려면 Public으로 선언해야합니다.

Property Procedure : 사용자 정의 속성을 만들때 사용합니다. Let, Get, Set 문으로 속성에 접근할 수 있습니다.

                                  클래스를 다룰 정도가 되면 따로 공부해보시기 바랍니다.

 

결론은..

반환값이 있는 경우에 사용하는 것이 Function 프로시저입니다.

 

도움이 되셨기를.. ^^

 

 

 

ps. 간단한 예제를 만들어봤습니다.

다운받기 : abyul.com_20120807_SubAndFunctionProcedure-1.xlsm

 

Option Explicit

 

'### 반환하는 값이 없습니다.

Sub test()
    MsgBox functionTest(3, 8)
End Sub

 

'### a + b 라는 결과 값을 반환합니다.

Function functionTest(a As Integer, b As Integer)
    functionTest = a + b
End Function

 

 

첨부
profile

[레벨:30]아별

2012.08.07 16:36:31
*.104.126.21

헐퀴.. 회원정보 이제서야 봤네..

달호 이자식.. ㅋㅋ

[레벨:2]snail0513

2012.08.08 02:25:02
*.233.111.232

ㅋㅋㅋㅋㅋ 좋은답변감사합니다ㅋㅋ

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 138031
102 엑셀일반 단축키가 안됩니다(찾기,Ctrl+F) ,Ctrl+G [3] [레벨:5]맑은이슬 2013-03-26 8996
101 엑셀일반 안녕하세요 재고의 연령분석에 대해 질문드립니다. file [2] [레벨:1]최영석 2013-12-19 9032
100 VBA 랜덤 출력 관련 짧고 간결(?)한 3가지 질문입니다. _ 중복 없는 랜덤 패스워드 생성하는 방법.. [4] [레벨:6]파이스 2011-11-29 9036
99 SUMIF 특정문자 포함하는 셀에서 값을 더할 때 관련 질문입니다. [3] [레벨:1]별바라기 2013-03-01 9059
98 VLookup Vlookup 사용 시 수식이 걸려 있는 데이터의 #N/A 표시 해결 [1] [레벨:3]읍내꽃미남 2011-10-07 9067
97 VBA 특정값이 변경될 경우 매크로실행 또는 0이 아닐경우 실행 [2] [레벨:3]jmsynn 2014-10-24 9076
96 셀서식(표시형식) 사용자 정의 셀서식에 대해서 [1] [레벨:2]양다원 2009-07-22 9132
95 엑셀일반 2교대 근무표 엑셀로 작성하려고 하는데 도와주세요 [레벨:2]편한세상 2013-08-21 9140
94 엑셀일반 최대값, 최소값 범위 지정 file [레벨:3]읍내꽃미남 2015-01-20 9169
93 엑셀에서 어떤셀값의 중간부분만 봐서 중간값에 따라 앞셀의 값이 변하게 하려면 [5] 마음의눈 2010-02-01 9183
92 SUBTOTAL 행 갯수 세기 [4] [레벨:1]랄랄라99 2013-08-07 9213
91 VBA 파일&폴더 ExecuteExcel4Macro로 다른 파일 열지않고 셀 데이터 가져오기 시 실패 file [레벨:1]소주보이 2014-02-28 9278
90 엑셀일반 혹시 입력된 데이터숫자 사이에 - << 이걸 집어 넣을수 잇나요? [1] [레벨:1]월계몽키 2015-02-24 9278
89 피벗테이블 월별 합계 금액 구하는 법 file [1] 야옹이 2010-02-12 9315
88 피벗테이블 팁부탁드립니다. file [1] [레벨:1]kkabo 2009-07-23 9331
87 VBA 조건문을 변수화 하는 방법 [2] [레벨:3]엑셀대단해 2012-07-23 9339
86 VLookup vlookup을 이용하여 하이퍼링크 가져오기 file [2] [레벨:1]영우세령아빠 2013-04-11 9361
85 시트별 합계 방법 file [4] 이구람 2010-04-02 9408
84 셀 서식에서 원하는 서식으로 고정하기 [3] [레벨:1]kwihan 2009-07-02 9431
83 엑셀일반 셀안의 텍스트에....... imagefile [6] [레벨:1]월계몽키 2014-11-26 9465