엑셀 시트 따로 저장하는 방법 vba 매크로

업무를 하다가 보면 엑셀 시트에서 작업한 내용을 시트 하나하나 따로 저장해야 하는 경우 복사해서 각기 저장을 해도 되지만 일일 마다 작성 된 작업 일지 같은 경우 30개 시트를 저장하려면 많은 시간이 걸립니다.


매크로를 이용하면 간단한 방법으로 빠르게 각 시트 별로 따로 저장할 수 있는데요. 이번 시간에는 엑셀 vba 매크로를 이용하여 엑셀 시트 따로 저장하는 방법을 알아보도록 하겠습니다.



엑셀 시트 따로 저장하는 방법 vba 매크로

지금부터 버튼을 클릭하면 그 다음 시트부터 시트 이름으로 저장되는 매크로를 만들어 보겠습니다. 



위에 이미지에 있는 단추1 버튼을 클릭하면 3월 1일부터 3월 4일 시트가 파일 이름으로 각각 저장이 되는 방법입니다.


개발도구에서 삽입 3번 아이콘을 클릭하여 엑셀 시트에 버튼을 그려 줍니다.


그럼 새로 만들기를 클릭합니다.


그려진 버튼을 선택하고 오른쪽 마우스를 클릭한 다음 "매크로 지정"을 클릭합니다. 그리고 다시 "새로 만들기"를 클릭하거나 "편집"을 클릭하여 비주얼 베이직을 실행시켜 줍니다.


아래 처럼 코드를 입력합니다. 옆에 코드를 다운 받아 입력해 주셔도 됩니다.

엑셀 시트 따로 저장 매크로.txt


만약 위에서 첫번째 시트부터 저장을 하고 싶다면 숫자 "2"를 "1" 변경하여 넣어 주면 됩니다. 이 코드는 파일이 있는 현재 위치에 다른 파일을 생성(ThisWorkbook.Path)하게 되어 있습니다. 그래서 작업을 하실 때에 폴더를 저장하고 작업하시기 바랍니다. (바탕화면에 파일을 놓고 저장을하게 되면 바탕화면에 시트가 생성됩니다.)


  지금까지 엑셀 시트 따로 저장하는 방법을 알아보았는데요. 다른 분들에게 도움이 되었으면 좋겠습니다.

300x250

댓글(17)

  • 2019.08.28 19:25 신고

    vba 만 알아도 좀 더 수훨한 엑셀작업이 될 거 같습니다.

  • 익명
    2019.08.28 20:34

    비밀댓글입니다

  • 2019.08.28 21:54 신고

    이럴때 매크로를 사용하면 편하겠군요.
    잘 보고 갑니다.

  • 2019.08.29 06:00 신고

    공부하고 가요.

    즐거운 목요일 되세요^^

  • 2019.08.29 13:42 신고

    엑셀 시트 별도로 저장하는 방법 잘 보고 갑니다.^^

  • 미술가게
    2019.11.15 16:56

    안녕하세요~ 좋은 정보 감사합니다.
    혹시 파일 저장이름을 "날짜_특정셀 텍스트_특정단어"로 저장도 가능한지 여쭤봐도 될까요?
    감사합니다.

    • 2019.11.17 22:48 신고

      셀에 적어 놓은 이름으로 파일명이 저장되게 할 수 있는 것으로 알고 있는데요.
      https://appadal.tistory.com/1050

      이 방법을 이용해 보시면 어떻까요?

  • ggh
    2020.11.11 08:31

    안녕하세요! 아주 좋은 정보 감사드립니다.
    혹시 저장되는 시트들의 내용이 첫번째 시트의 내용 일부를 수식으로 받아 온 후에 저장을 한다면
    수식이 깨지나요??
    아니면 일일이 값으로 붙여넣기를 해야 할까요?ㅠ

    • 2020.11.11 14:30 신고

      일부 본문의 시트 내용을 먼저 복사한 다음 저장을 하면 될 것 같은데요..

  • 김재환
    2021.07.04 02:46

    안녕하세요

    엑셀 시트이름 변환과
    시트저장 매크로를 하나의 매크로로 사용가능한가요?

    그리고 몇번째 시트부터 모두 개별저장말고
    특정시트 하나만 저장하는거도 되는지요?!!

  • 김재환
    2021.07.04 03:54

    아 죄송합니다..
    다시 질문드리겠습니다.

    현재 알려주신 매크로는
    X번째 시트부터 카운트되어서 다 저장되는거로 보이는데

    저는 1번2번3번4번5번 시트중에
    3번시트만 개별저장하고싶을때 쓸쑤잇는 매크로는 없을까요??

    알려주신 매크로로 3번째 시트를 5번째로 옮기고 5부터 카운팅하면되긴하지만
    3번째에 있어야 하는 시트라서요ㅠㅠ

    • 2021.07.06 23:59 신고

      ActiveWorkbook.Sheets(3).Select
      ActiveSheet.Copy

      ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ActiveSheet.Name & ".xlsx"
      ActiveWorkbook.Close

      입력해 주시면 됩니다~

  • 김재호
    2022.08.10 04:36

    안녕하세요
    올려주신 내용 잘 보고 있어요
    제가 data시트를 따로 다른 통합문서에 저장해놓고
    이름정의와 데이터유효성검사 vlookup indirect 함수를 이용해서 필요시 data를 불러와서 사용하고 싶은데요
    data시트가 열려 있으면 제대로 작동을 하지만 열지 않은 상태에서는 작동이 안되더군요
    매크로로 auto open, auto close를 만드는 방법은 흉내를 내봤습니다만 문서를 숨김 상태로 불러오고 작업후 자동종료 방법을 모르겠네요
    분명 방법이 있을 거라 생각이 됩니다만 초보라 알 수가 없어서 도움을 청해봅니다
    추가적인 질문은 data시트문서를 작업문서와 다른 경로에 저장해서 불러 올 수 있을까요
    구글 드라이브 클라우드에서 공동작업을 하고 싶은데 드라이브 연결을 했더니 특정 경로 (예 h:드라이브)로 잡혀서 다른 작섭자와 경로가 다르게 잡히면 안되는 것 같더라구요
    궁금한 것을 제대로 문의하는 건지 모르겠습니다 ㅠ
    부탁드립니다 고수님

    • 2022.08.16 23:50 신고

      ^^;;;;
      한번도 그렇게 문서를 만들어 본적이 없어서 저도 테스트를 해봐야 할 것 같습니다.
      그리고 구글 드라이브 이용하는 방법도요. 엑셀과 구글 드라이브를 같이 이용할 생각은 못해 봤는데 저도 한번 알아보면 업무 할 때 편할 것 같다는 생각이 듭니다. 저도 연구해 보겠습니다. ^^;; 문의를 하셨는데 제대로된 답변을 못 드려서 죄송합니다. ^^;;;

  • 익명
    2022.08.22 16:34

    안녕하세요. 같은 방식으로 PDF로 저장할수 있을까요?
    xlsx 를 PDF로 바꿨는데 제가 지정해둔 셀만 저장하도록 설정해서 그런건지 안되네요ㅜㅜ

    • 2022.09.03 10:20 신고

      다른 방법을 찾아봐야할 것같습니다. 저도 pdf 작업을 해보았는데 안되데라고요.. 방법을 찾으면 다시 포시팅을 올리도록 하겠습니다.

Designed by JB FACTORY