엑셀 중급_VBA 와 매크로 (10)

엑셀의 VBA매크로의 저장 경로는 두 가지 입니다. 첫 번째 경로는 내가 현재 사용하고 있는 엑셀 통합 문서 파일로써 여기에 저장된 매크로는 해당 파일을 사용 중 일 때만 매크로가 사용 가능 합니다. 물론 이 매크로를 다른 파일로의 복사도, 또 PERSONAL.XLSB 라는 숨겨진 파일로도 복사가 가능 합니다. PERSONAL.XLSB 파일은 엑셀의 매크로 저장을 위한 시스템 파일이고 기본적으로 숨겨진 파일 이지만 수정을 위해서 파일 경로를 알 필요는 없습니다. 매크로의 저장, 이동, 삭제가 모두 VBA편집창에서 간편하게 가능 하며 또 이 PERSONAL.XLSB에 저장된 매크로는 내가 어떤 파일을 열더라도 매크로를 이용하실 수 있습니다. 이 파일은 엑셀의 시스템 폴더에 저장되어 어떤 엑셀 파일을 열더라도 접속이 가능합니다.

10연습파일.xlsm

10연습파일_완성본.xlsm

  1. 숨겨진 통합 문서의 매크로는 편집할 수 없습니다.

    숨겨진 통합 문서의 매크로라고 하면 도대체 어떻게 찾으란 말인가요? 차라리 PERSONAL.XLSB라고 했으면 더 알아 보기 쉬웠을 것 입니다. 엑셀 매크로를 삭제하려고 할 때 보시는 숨겨진 통합 문서란 바로 PERSONAL.XLSB파일을 말하고 매크로 저장을 위한 공간 입니다. 그렇다고 매크로 삭제를 위해 굳이 숨기기 취소를 할 필요는 없고 ALT+F11으로 간편하게 삭제를 하실 수 있습니다.

     

    PERSONAL.XLSB에 있는 매크로를 삭제하려고 하면 삭제 할 수 없다는 경고문이 뜹니다.

     

     

    굳이 숨기기 해제를 하시지 말고 지난 번에 배운 ALT+F11단축키를 눌러서 VBAProject(PERSONAL.XLSB)에 보면 나의 매크로 모듈이 모두 들어가 있습니다.

     

    우측에 보이는 코드 상단에 Sub으로 시작하는 부분이 모두 매크로 이름 이라는 것을 확인 할 수 있습니다. 이 부분을 바꾸면 매크로 이름도 바뀝니다.

    지금 두 개의 Sub 문이 있으므로 표시되는 매크로도 두 개인 것입니다.

     

    삭제하는 방법은 간단합니다. Sub 부터 End Sub까지 부분을 모두 삭제하면 해당 매크로는 자동으로 삭제 됩니다. 경고문도 나오지 않습니다.

     

     

    본 파일로 돌아와서 확인해 보면 매크로가 삭제되신 것을 확인 할 수 있습니다.

    위에서 삭제가 아닌 통합 문서의 매크로를 잘라 내기를 해서 일반 문서의 모듈에 붙여 넣기를 하면 복사가 됩니다. 지난 시간에 소개 해 드렸습니다.

     

  2. 일반 파일의 매크로의 수정

    PERSONAL.XLSB에 저장된 매크로는 삭제, 편집 모두 단축키로 진입 해서 하시는 것이 제일 편합니다. 그러나 만약 단축키 ALT+F11이 기억이 안 난다면 일반 매크로의 편집을 클릭 하셔도 VBA 편집기로 진입을 합니다.

     

    값으로 저장 매크로는 파일에 저장된 매크로 입니다. 선택을 하고 편집을 클릭 합니다.

     

     

    마찬가지로 VBA편집창으로 진입을 하며 역시 PERSONAL.XLSB 매크로 뿐만 아니라 모든 매크로의 수정이 가능 합니다.

     

  3. 조금 더 복잡한 방법, 숨기기 취소

    엑셀의 경고문 대로 PERSONAL.XLSB파일을 숨기기 해제해서 매크로를 삭제 하는 방법도 있습니다. 그러나 단계도 더 복잡할 뿐만 아니라 내 컴퓨터의 어떤 모듈에 어떤 매크로가 저장되어 있는지 모르고 단순히 매크로의 나열만 되기 때문에 매크로가 많을 때는 거의 쓰지 않습니다.

     

    엑셀의 보기 탭에서 숨기기 취소를 클릭을 하면 PERSONAL.XLSB란 매크로 저장 파일이 보입니다. 확인을 클릭 합니다.

     

     

    열린 파일의 이름을 보면 PERSONAL.XLSB 라고 되어 있습니다.

     

     

    이제 매크로 보기를 하면 매크로의 삭제, 편집이 가능 하지만 처음부터 ALT+F11을 하는 것과 차이가 없습니다.

     

    만약 특정 엑셀 서식 파일에 특화되어 있는 매크로라면 파일에 저장을, 모든 엑셀에 전체에 걸쳐서 사용하시는 매크로라면 PERSONAL.XLSB에 저장 하시면 됩니다. 단 수정 할 때는 두 매크로 모두 VBA 편집 에디터로 하시는 습관을 들이는 것이 장기적으로 볼 때 좋습니다. 삭제와 수정이 더 편할 뿐만 아니라 VBA의 에디터에 친숙해 질수록 나중에 직접 코딩을 할 때도 훨씬 쉽게 느껴 집니다.


+ Recent posts