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

VBA에 거부감이 드는 이유 중의 하나는 VBA코딩을 어느 정도 알아야지 유용하게 활용할 것 이라는 생각 때문입니다. 그리고 코딩의 숙달은 많은 시간을 필요로 하지요. 그러나 엑셀 VBA 에디터를 이용할 때 코딩의 명령어를 전혀 이해하지 못하더라도 유용하게 쓰일 수 있는 것은 많습니다. 이제껏 소개해 드린 모듈 옮기기, 매크로 이름 바꾸기 등 여러 가지가 있지만 이번에 소개해 드릴 내용은 두 번의 매크로로 기록된 두 개의 프로시저(Procedure)를 하나로 통합하는 기능 입니다.

13연습파일.xlsm

13연습파일_완성본.xlsm

  1. 하나하나의 매크로 확인 하기

    지금 13 연습 파일에는 두 가지 종류의 매크로가 있습니다. 하나는 함수로 계산된 결과를 완전한 값으로 바꾸어 주는 매크로 이고 두 번째는 셀에 강조 효과를 주기 위해 가운데 정렬, 밑줄, 음영, 셀 합치기를 한번에 하는 매크로 입니다.

     

    SUM함수로 3개의 셀을 합계한 계산 값 입니다.

     

     

    매크로를 열고 첫 번째 매크로인 SaveValue 를 클릭 합니다.

     

     

    함수로 얻은 계산 값이 엑셀의 값으로 바뀌었습니다.

     

     

    같은 방법으로 실행한 두 번째 매크로는 셀의 서식만 변경하고 함수는 그대로 함수 값 입니다.

     

  2. 두 매크로 합치기

    두 개의 매크로를 합쳐서 값으로 바꾸면서 셀에 강조 효과를 주고 싶다면 일반적인 엑셀의 기능으로는 할 수 없고 VBA를 수정 하셔야 합니다. 그러나 VBA코드를 하나도 몰라도 매우 쉽게 가능 합니다.

     

    Alt + F11을 눌러서 VBA 편집기로 들어 옵니다. 두 개의 매크로가 각각 모듈 1 과 모듈 2에 저장되어 있고 두 번째 모듈에 저장된 매크로는 강조 매크로 입니다.

     

     

    이걸 첫 번째 매크로와 병합하기 위해 Sub과 End Sub 사이의 구문을 모두 복사합니다. 먼지는 몰라도 이것 때문에 강조가 되는 것이겠죠?

     

     

    모듈 1을 클릭 하고 내가 복사한 코드 부분을 모듈 1 의 End Sub 즉 프로시저(Procedure)의 끝부분 바로 전에 갖다 붙입니다. 이제 두 매크로가 합쳐 졌습니다.

     

     

    모듈 2는 이제 빈 껍데기 이니 지워 주시면 됩니다.

     

     

    모듈 1의 이름은 내가 기억하기 쉬운 값으로 바꾸시고요. 한글은 안되고 특수 문자도 안됩니다.

     

  3. 합쳐진 매크로 실행해 보기

    이제 다시 Alt + F11을 눌러서 엑셀 워크시트로 와서 합쳐진 매크로를 실행해 보겠습니다.

     

    보기 탭의 매크로를 클릭 하시면 이전의 모듈 2에 저장 되었던 매크로는 이미 삭제 되어 있습니다. 합쳐진 매크로를 실행해 보겠습니다.

     

     

    강조 효과가 되면서 값으로 바뀌었습니다.

     

    VBA 에디터의 유용함을 아시겠죠? 이것을 이용하면 다른 사람이 만든 복잡한 매크로 기능에 나의 필요한 기능만 추가해서 쓰는 것도 가능하고 코드의 교환과 공유도 쉬워 집니다.


+ Recent posts