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

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

sub과function차이

VBA 조회 수 2580 추천 수 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 60170
462 엑셀일반 엑셀질문 [1] [레벨:1]ㅂㅂㅂㅂㅂ 2014-01-24 3998
461 아별님~~도와주세용... [2] [레벨:1]hope so 2009-07-09 4001
460 엑셀일반 값더하기 단축기는 없나요? [4] [레벨:1]azess 2013-12-12 4008
459 엑셀수식 하이퍼 링크 재 문의 입니다. file [2] [레벨:1]rfne 2013-04-02 4010
458 엑셀수식 OFFSET함수 수식 오류 문의 드립니다. [3] [레벨:4]부루끄 2012-05-23 4021
457 VBA 파일&폴더 자꾸 글올려서 죄송합니다. open문 질문입니다.ㅠㅠ [1] [레벨:4]신강현 2013-01-29 4023
456 VBA VBA 실행시 경고 메세지 출력하기 [2] [레벨:5]맑은이슬 2013-06-21 4039
455 엑셀 쏄 합치기에 대한 간단한? 질문 입니다. file [1] [레벨:1]Sudd 2011-03-19 4053
454 아별툴관련질문 error name delete 하면 '1004' 런타임 어류가 발생합니다. [2] [레벨:3]알알 2012-05-29 4055
453 셀서식(표시형식) 다른 시트에서 조건을 만족하면 해당시트 셀에서 색칠하거나 글씨 표시하기 file [2] [레벨:4]성투은자 2013-04-02 4058
452 엑셀일반 일정표를 하나 만들었는데 도와주세요(긴급)ㅠㅠ imagefile [1] [레벨:2]matroos 2011-09-14 4064
451 VBA 선택한 영역 랜덤 색 대해서 질문하겟습니다. file [4] [레벨:4]신강현 2013-03-13 4069
450 상업송장 엑셀로 작성하는 부분 file [5] [레벨:5]정화 2011-05-27 4072
449 엑셀일반 사실 물어보기도 뭐한 질문이긴 한데요. 혹시나 같은 고민을 해보신 분이... imagefile [3] [레벨:4]쟈니 2011-10-20 4077
448 VBA 사진 매크로 질문입니다 ^^ [5] [레벨:2]광택입니다 2013-02-19 4078
447 엑셀수식 ㅠ 그렇군요. _ 수식의 기본원리.. 이해.. 함수식이란? 인수와 문장부호 [5] [레벨:3]빛의행운아 2012-02-17 4100
446 배열수식 수식에 대해 문의드려요! file [2] [레벨:1]예진 2013-03-07 4105
445 VBA 엑셀에서 웹페이지 종료하는 방법 [3] [레벨:1]sd99 2013-05-19 4116
444 엑셀일반 엑셀 파일 열림 지연현상 [1] [레벨:4]쟈니 2012-04-06 4126
443 엑셀에서 컴퓨터시간 자동변경하기 [2] [레벨:1]사랑 2010-12-16 4130