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

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

sub과function차이

VBA 조회 수 2315 추천 수 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 44758
482 엑셀일반 경력 합산 file [4] [레벨:3]읍내꽃미남 2014-01-07 3431
481 VBA 도와 주세요. file [1] [레벨:2]광택입니다 2011-10-21 3434
480 VBA 도형에 회전에 관해서.... [5] [레벨:2]루이비나 2012-05-27 3435
479 엑셀일반 한가지 질문요 [레벨:1]싸이킥 2015-01-10 3446
478 엑셀일반 값더하기 단축기는 없나요? [4] [레벨:1]azess 2013-12-12 3453
477 아별툴관련질문 스타일 삭제 질문입니다. imagefile [1] [레벨:0]blueclip 2011-12-07 3459
476 엑셀에서 검색방법 [1] [레벨:1]조프로 2011-05-27 3460
475 VBA 엑셀에서 웹페이지 종료하는 방법 [3] [레벨:1]sd99 2013-05-19 3468
474 피벗테이블 2010에서 2003방식으로 편집 가능한지요? file [4] [레벨:3]gsLee 2011-03-28 3470
473 날짜/시간 수식 엑셀 시간관련문의 file [1] [레벨:1]박주연 2013-02-08 3472
472 열숨기기 기능에 대해서 [3] [레벨:3]말키리 2011-07-14 3478
471 엑셀일반 중복 IF문 개념잡는법에 대한 질문 imagefile [4] [레벨:6]파이스 2014-05-19 3490
470 엑셀일반 일련번호의 중간 값만 올리는 함수가 궁금합니다. file [2] [레벨:1]man날 2015-01-14 3515
469 엑셀일반 이중 데이터 유효성 검사에서 궁금한게 있습니다~ [레벨:1]새벽녘 2014-03-02 3521
468 엑셀일반 아별툴 적용 안됨 imagefile [레벨:2]queeny 2014-03-12 3525
467 VBA REPORT 형식을 변형하고 싶은데 한번 봐주세요 file [7] [레벨:1]예진 2013-04-09 3536
466 VBA 혹시 어떤 문서에서 특정 단어를 추출하는 것이 가능할까요? [2] [레벨:1]하얀모래 2014-02-25 3537
465 엑셀 서식을..안 바뀌게 [1] [레벨:1]ottee 2010-10-04 3539
464 엑셀일반 엑셀 질문있습니다~! [1] [레벨:1]얀수기 2013-03-15 3547
463 VBA 파일&폴더 리본메뉴 폴더 열기 [3] [레벨:5]맑은이슬 2013-04-13 3550