엑셀 매크로 VBA] 초보자용 VBA 사용 방법

2016.12.04 19:20




엑셀 VBA를 전혀 모르는 초보자라도 코드를 복사해서 사용할 수 있도록 정리해본다. 


매크로, VBA를 잘 모르더라도 필요한 코드를 검색 등의 방법으로 찾았다면 아래 방법을 따라하면서 Ctrl+C, Ctrl+V만 사용해도 매크로를 사용할 수 있을 것이다.





 개발도구 추가


엑셀에서 개발도구를 사용할 수 있는 상태여야 한다. 


아래 그림처럼 엑셀 메뉴 중에 개발도구가 없다면 추가해야 한다. 






[파일 - 옵션 - 리본 사용자 지정] 메뉴에서 [개발도구] 앞에 체크하면 리본 메뉴에 개발도구가 나타난다.



엑셀 개발도구 추가






 Visual Basic Editor에 코드 입력하기


[단축키 Alt + F11]을 입력하거나 [개발도구 탭 - Visual Basic]를 클릭해서 Visaul Basic Editor를 연다. 







VBA 코드 입력을 위해서 모듈을 추가한다. 


프로젝트 창 시트 이름에서 [마우스 오른쪽 버튼 - 삽입 - 모듈]을 클릭한다. 




왼쪽에 Module1이 추가되고 오른쪽에 코드를 입력할 수 있는 창이 나타난다. 





이 창에 필요한 VBA 코드를 붙여넣는다. 




(단. 어떤 매크로는 모듈이 아닌 해당 워크시트에서만 동작하는 경우도 있으니 작업 전 확인이 필요

- 이 경우는 모듈이 아니라 워크시트 이름을 더블클릭했을 때 나타나는 코드 창에 코드 입력)





 매크로 실행시키기


모듈에 입력해 놓은 VBA코드를 실행시키려면 코드가 입력된 부분 중 아무 곳이나 마우스 커서를 클릭하고 [단축키 F5] 또는 초록색 실행버튼을 클릭한다. 







 매크로 사용 통합문서로 저장하기


매크로 코드를 포함시켜 작업한 파일은 일반적인 엑셀 파일의 확장자인 xlsx 파일로 저장할 수 없다. 


다른이름으로 저장을 선택하고 파일 형식을 [Excel 매크로 사용 통합 문서] 로 저장해야 한다. 




또루아빠 Excel/엑셀 VBA , , ,

  1. Blog Icon
    sykim

    모듈에 매크로 복붙하고 F5 누르면

    창이 새로 뜨면서 매크로 이름을 만들라고 뜹니다.

    그래서 이름 아무거나 만들면 그걸로
    Sub ~~()

    End sub

    가 생성되면서 복붙한 매크로가 작동을 안하네요.

    어떻게 하는걸까요? ㅠㅠ

  2. 모듈에 복붙한 코드가 어떤건지 모르겠습니다만, 코드 제일 위 첫 줄에 SUB 함수이름()... 이런 코드가 없나요????

    함수 이름 없는 코드를 실행시키면 매크로 이름을 만들라고 나옵니다만.....

  3. Blog Icon
    sykim

    http://ttend.tistory.com/567
    이 게시물에 있던 그림 삽입 매크로 VBA.txt
    이걸로 삽입했습니다.
    http://i.imgur.com/OyFL3Rf.png
    F5 누르면 이런식으로 나오네요.

  4. ^^;;

    그러네요. 왜 그런지.. 죄송합니다.

    일단 급한대로(?)
    파일을 다른이름으로 저장(excel 매크로 사용 통합문서) 하시고, 모듈에 복사한 VBA 코드 맨 앞부분 Private를 삭제하시고(Sub...으로 시작하도록), F5를 눌러서 코드 실행할 때 매크로 이름 넣으라는 창에서 취소를 클릭하시면 코드 실행은 가능합니다.

    왜 이런 문제가 생겼는지 찾아보고 댓글에 남기도록 하겠습니다.

    죄송합니다. ^^;;

  5. Blog Icon
    sykim

    알려주신대로 했으나 안되네요 ㅠ

    Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    에서 괄호 안에 코드를 빼면 매크로 작동은 하는거 같은데,

    그림 삽입하라고 윈도우 창이 떠서 삽입하면 그림 원본크가대로 삽입이 되네요.

    자꾸 귀찮게 해서 송구스럽습니다. ^^;

  6. 저도 아직 매크로 공부하는 중이라 해메고 있습니다. ㅋ

    일단 위 그림 삽입하는 매크로는 모듈이 아니라 그림을 삽입시킬 워크시트에다 붙여넣기 하시구요(VBA 탐색기에서 워크시트를 더블클릭하면 오른쪽에 코드입력창이 나타납니다)

    이 VBA코드는 별도로 실행시키는 방법이 아니라 빈 셀을 더블클릭하면 그림 파일을 호출하는 창이 나타나니까 F5를 누르지 마시고 엑셀입력창에서 원하는 셀을 더블클릭해보세요.

  7. Blog Icon
    그루퍼

    또루아빠님
    안녕 하세요~

    또루아빠님의 티스토리에서 엑셀 자료로 공부 하고 도움도 받고 있습니다.
    너무 감사드린다고 인사남길겸 댓글을 씁니다.
    앞으로도 좋은글 좋은 자료 부탁 드립니다. 헤헤~
    감사 합니다. 건승하십시요!!

  8. 아이고... 과한 칭찬을.. ^^
    댓글 감사합니다.
    행복한 하루 되세요.

  9. Blog Icon
    유리


    안녕하세요.
    덕분에 지금 신세계 경험중이에요~
    너무너무 편리하고 좋네요. 감사합니다^^
    저 궁금한게 있어서요ㅠㅠ
    매크로 실행해서 시트를 파일로 저장은 다 했고
    이 파일을 제가 더존에 업로드 하려고 하는데 엑셀형식의 파일이 아닙니다. Excel 97 -2003 통합문서로 저장하시기 바랍니다. 라고 떠서요ㅠㅠ
    저장된 파일을 열면
    열려는 파일의 형식이 파일 확장명에서 지정한 형식과 다릅니다. 파일을 열기 전에 파일이 손상되지 않았는지, 원본을 신뢰할 수 있는지 확인하십시오. 지금 파일을 여시겠습니까? 라고 떠서 예 누르고 새로 저장을 해야 더존에 업로드가 되더라구요.
    이게 엑셀로 저장이 되는게 아닌가요???
    도와주세요ㅠㅠㅠ

  10. 매크로가 포함된 파일은 파일형식을 "excel
    매크로 사용 통합문서" 형식으로 저장해야 합니다.

    다른이름으로저장 메뉴에서 파일형식 드롭다운 버튼을 클릭하면 나타납니다.

    매크로 사용 통합문서는 파일 확장자가 xlsm입니다. ^^

  11. Blog Icon
    유리

    무슨말씀이신지 모르겠어요;;;ㅠㅠ
    매크로 모듈추가해서 소스코드 입력하고 저장안하고 매크로 실행해도 바탕화면에 시트들이 저장되는데 저 파일들은
    확장자가 .xls 라고 되어있는데 이거를 .xlsx로 저장되게끔 매크로 수정은 안될까요??
    시트가 파일로 바꼈을때 엑셀형식으로 저장되었으면 좋겠어요.
    답변 부탁드려요~

  12. 혹시 질문 내용이 시트별로 별도 파일로 저장하는 매크로에 관한 내용인가요?? ^^;;

    제가 엉뚱한 답변을. 헉.

    Sub Split_bootk() 매크로 부분에서 filename에 ".xls"로 되어 있는 부분을 ".xlsx" 변경한 다음에 매크로를 다시 실행시켜보세요. (이미 생성된 파일은 먼저 삭제하시구요)

  13. Blog Icon
    유리

    우아!!!!!!!!!!!!!! 됐어요!!!!!!!
    진짜 하나하나 다 지우면서 할뻔했는데
    정말정말 감사합니다♡
    답변도 달아주셔서 정말 감사해용
    자료가 쉽게 잘 설명되어 있어서 저처럼 하나도 모르는 사람도 보고 따라하기 넘나 좋아용
    즐겨찾기 해놓고 모르는거 있으면 여기서 찾아봐야겠어요~
    정말 감사해요^^

  14. 잘 해결되셨다니 제가 기쁘네요. ^^

    댓글 감사드리구요, 행복한 하루되세요.
    ^___^

  15. Blog Icon
    전성현

    단순디비작업인데요 A열에 있는거를 자동으로 B나 C로 가게 하는메트로도짤수있나요
    ?

  16. Blog Icon
    노경민

    매크로를 할려면 개발도구 탭을 먼저 설정을 한 다음에 처음에 매크로 기록을 해야 합니다.

  17. Blog Icon
    ㄴㅇㄼ

    감사합니다 덕분에 살았습니다