엑셀 중급_VBA 와 매크로 (4)
엑셀에서 VBA코드가 매크로 입니다. VBA코드를 처음부터 직접 작성한다는 것은 엑셀을 처음 시작하는 사람들에게는 어려운 일이지만 매크로가 필요한 상황은 많습니다. 이런 상황을 위해 엑셀에서는 매크로 기록이라는 기능으로 내가 하는 모든 엑셀에서의 기록을 VBA코드로 바꿔줍니다. 이때 주의 하실 점은 일단 매크로 기록이 시작되면 내가 의도하지 않은 실수도 모두 기록이 되므로 매크로를 기록하기 전에 반드시 어떤 작업을 할 건지 계획을 확실히 잡고 시작을 해야 실수를 줄일 수 있습니다.
매크로 기록하고 저장하기
엑셀에서 매크로를 기록하는 방법은 크게 3가지로 분류 할 수 있고 어느 방법이던지 결과는 같으므로 편하신 것을 선택 하시면 됩니다.
제일 편한 방법은 엑셀 왼쪽 하단의 매크로 아이콘을 클릭 하는 것 입니다. 만약 매크로 아이콘이 보이지 않는 다면 하단 작업 표시줄을 우 클릭 하여 매크로 기록을 선택해 주면 됩니다.
또는 보기 탭>> 매크로로 이동해서 매크로 기록을 클릭 합니다.
또는 엑셀 창의 최 상단 빠른 도구 서식 모음을 우 클릭해서 개발 도구 탭을 추가 할 수 있습니다. 리본 메뉴 사용자 지정을 클릭 하세요.
개발 도구를 클릭하고 확인을 누릅니다.
이제 개발도구 탭에 매크로가 활성화 되었습니다.
매크로 기록 하기
위의 3가지 방법 중 어느 것을 선택하더라도 결과는 같습니다. 일단 매크로 기록이 시작되면 내가 엑셀 상에서 하는 모든 행동들이 기록이 됩니다. 심지어 마우스 스크롤도 기록이 되기 때문에 불필요한 행동은 안 하시는 것이 좋습니다. 불필요한 행동이 추가되어VBA코드가 길어지면 매크로 실행이 느려지기 때문입니다.
매크로 기록을 시작하면 3가지 사항을 입력해 줍니다.
1번의 매크로 이름은 어떤 것 이어도 상관 없지만 (한글도 괜찮지만) 나중에 코드가 복잡해지고 다른 오픈 소스와의 연동, 그리고 오류를 피하기 위해서 영어로 지어주는 습관을 들입시다. 콩글리쉬도 상관 없습니다.
2번은 단축키를 지정해 주는 곳 입니다. 단순히 컨트롤 조합은 이미 다른 용도로 사용되고 있으므로 시프트를 누르고 적당한 단축키를 누르면 컨트롤 + 시프트 + 알파벳 조합이 됩니다. H로 한 이유는 Highlight (강조하다)의 H로 기억하기 쉬운 것을 하면 됩니다.
3번은 매크로의 저장 위치인데 기본 값은 현재 통합 문서 입니다. 일단 여기에 저장하고 자세한 사항은 다음에 예제를 통해 같이 설명 하겠습니다.
설명에는 한글이 들어가도 아무 지장 없으므로 내가 알아볼 수 있게 최대한 자세한 설명을 넣어 줍니다.
확인을 누르면 준비가 표시되며 매크로가 녹화 됩니다. 이때 정지 네모 아이콘을 누르면 매크로 기록이 중지 됩니다.
수식 셀을 찾는 매크로를 기록 하기 위해 찾기 및 선택을 통해 이동 옵션을 클릭 합니다.
이동 옵션에서 수식을 클릭하고 확인을 눌러 줍니다.
수식이 적용된 셀들이 모두 선택 되었습니다.
이제 음영 버튼을 클릭해 적당한 색깔을 적용 합니다.
수식이 들어간 셀들이 모두 강조가 되었습니다.
이제 원하는 매크로를 모두 기록하였으므로 엑셀 하단의 상태 표시줄의 네모를 눌러서 매크로 기록을 중지합니다.
매크로 실행 하기
매크로를 실행하는 방법은 여러 가지가 있지만 일단 방금 전에 단축키를 지정 하였으므로 컨트롤 + 시프트 + H로 다른 시트로 이동해서 매크로를 적용해 보겠습니다.
두 번째 시트로 이동 후 컨트롤 + 시프트 + H를 누르니 순식간에 수식 셀들이 강조 되었습니다.
세 번째 시트도 많은 수식 셀들이 단축키로 한번에 강조 되었습니다.
4번째 시트도 한번에 수식 셀들을 강조 했습니다.
매크로는 지금 현재 파일에 저장 되었지만 내 엑셀 프로그램 상에 저장 할 수도 있습니다. 그러면 내가 어떤 파일이던지 같은 매크로를 적용할 수 있고 엑셀에서 흔한 작업인 수식 셀 찾아서 강조하기를 한번의 단축키로 가능하게 됩니다.
'엑셀 중급 > VBA와매크로' 카테고리의 다른 글
06_엑셀 값 복사 매크로 만들기 (3) | 2016.01.04 |
---|---|
05_엑셀 매크로 삭제 정말 쉽게 하기 (0) | 2016.01.04 |
03_엑셀 매크로 활용 예제들 (1) | 2015.12.29 |
02_엑셀 VBA 코딩의 기본 깨우치기 (3) | 2015.12.29 |
01_엑셀 VBA 객체 지향 언어의 이해 Object Oriented Language (3) | 2015.12.29 |