엑셀 매크로 작성과 빠른 실행 도구모음에 등록
본문 바로가기
여러가지 스토리/IT 스토리

엑셀 매크로 작성과 빠른 실행 도구모음에 등록

by molbania3 2022. 8. 4.
반응형

엑셀에서 여러 번의 클릭을 통하여 실행하는 메뉴를  1번의 클릭으로 실행시킬 수 있습니다. 바로 매크로를 만드는 것입니다. 엑셀에서 매크로를 만드는 방법에는 2가지 방법이 있습니다.(다른 방법이 더 있는지는 모르겠지만) 이제 매크로를 만들고 빠른 실행 도구 모음에 등록하는 것을 알아봅니다. Excel 버전은 office 365입니다.


1. 매크로 작성 방법

 

ⓘ   매크로 기록하기, 키보드나 마우스로

     - 워크시트에서의  실행이 하나씩 코드화 되어 VBA로 작성, 기록됩니다.

 

② VBA언어로 코드를 직접 작성하기

    - Visual Basic Editer를 불러와 직접 작성합니다. 컴퓨터 프로그래밍 언어를 알아야 합니다.

    -  Editer를 부르는 키는 Alt + F11 키입니다.


2.  매크로 메뉴 종류 

 

 "보기" 의 리본 메뉴의 맨 끝에 "매크로 메뉴"가 있습니다. 클릭하면

① "매크로 보기"

② "매크로 기록"

③ "상대 참조로 기록"이라는 서브메뉴가 뜹니다.

매크로 메뉴
매크로 메뉴

① "매크로 보기" 

"매크로 보기" 는  이미 기록되어 있는 매크로를 실행, 편집, 삭제, 옵션 등의 서브메뉴가 뜹니다.  이중 옵션 메뉴는 기존 메크로의 단축키를 지정하거나, 설명 등을 수정, 추가할 수 있습니다.

매크로 보기 메뉴
매크로 보기 메뉴

② "매크로 기록"

"매크로 기록"은 새로  만드는(기록) 매크로의 이름과, 단축키, 설명을 쓰고 확인으로 기록을 시작하게 됩니다.  매크로의 단축키는 다른 엑셀의 다른 단축키 보다 우선합니다.  

매크로 저장위치
매크로 저장위치

 

매크로 저장 위치는 3곳이 있는데

 

"개인용 매크로 통합문서"는  엑셀 실행 시 자동으로 실행되는 파일인 Personal.xlsb라는 매크로 전용 문서에 저장되어 엑셀이 시작될 때 매크로도 같이 시작되어 모든 Excel 파일에 적용되며  Personal.xlsb! 매크로1 이런 식으로 정해지고

 

"새 통합 문서"는 새 통합 문서를 열고 그 문서에만 적용되는 매크로입니다. (전용입니다)  마찬가지로 별도의 매크로 이름을 정하지 않으면  기본으로 "새 통합 문서의 이름!매크로" 

 

"현재 통합 문서"는 현재 열려있고 작업 중인 문서에만 적용됩니다. 별도의 매크로 이름을 정하지 않으면 매크로 이름은 "현재 통합 문서의 이름!매크로" 이런 식으로 정해집니다. 별도의 매크로 이름을 정하면 정한 대로만 지정됩니다.


③ "상대 참조로 기록"

"상대 참조로 기록"이라는 서브메뉴는  보통 매크로는 지정한 위치에서 실행을 해주는데,  이 옵션을 적용 후  매크로를 기록하면 상대 참조를 사용하여 워크시트 어느 위치에서도 적용이 가능하게 매크로를 기록합니다. 

매크로 상대 참조로 기록
매크로 상대 참조로 기록

 

A3:C3 범위를 선택 후 A7:C7로 카피하는 매크로를 '상대 참조 옵션 없이" 기록하여 만들면  커서가 어느 위치에 있더라도 "A3:C3"을 카피하여 "A7:C7"로 복사합니다. 즉, 지정한 절대위치에서만 실행합니다.

 

"상대 참조로 기록" 옵션으로 매크로를 만들면  커서가 있는(선택한) 위치에서 매크로를 실행합니다. 즉 전역 매크로라도 할 수 있습니다. 즉,  커서가 "F3:H3"에 있고(선택하면)  매크로를 실행하면 "F7:H7"로 카피하게 됩니다. 상대 위치만 참조하니까 셀의 개수 상관없이 카피가 가능합니다. "K3" 한 셀만 선택하면 "K7"로 카피하게 됩니다.

 

** 실제로 매크로 편집으로  VBA 구문을 보면 상대 참조 없이 기록하면 절대 셀이 위치 값으로 그대로 적혀 있죠. 반면 상대 참조로 기록된 VBA구분을 보면 절대 위치정보가 지정되어 있지 않습니다.

Sub 이동카피매크로1()
' 상대 참조 없이 매크로 기록
'
Range("A3:C3").Select
Selection.Cut
Range("A7:C7").Select
ActiveSheet.Paste
End Sub


Sub 이동카피매크로2()
' 상대 참조로 매크로 기록
'
Selection.Copy
ActiveCell.Offset(6, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(0, 3).Range("A1").Select
End Sub

3. 기록으로 매크로 작성 

 

이제 옵션, 이름들을 다 정했으면  매크로 기록을 하면 됩니다. "매크로 기록"을 시작하면 메크로 메뉴는 사라지고 워크시트 화면으로 되돌아옵니다. 워트시트에서 기록(매크로로 한 번에 실행할 작업)을 실제로 작업한 후, 기록을 다했으면 매크로 메뉴에서 " □ 기록중지" 를 하면 매크로가 만들어진 것입니다.  이제 사용하면 됩니다. 


4. VBA로 매크로 작성

 

Alt+ F11을 누르면  Visual Basic for Applications라는 편집기 화면이 나옵니다. 바로 컴퓨터 프로그래밍 언어로 들어가게 되는 것이지요. 당연히 비주얼 베이식 언어를 알아야 코드 작성이 가능합니다. 상급 엑셀 사용자가 되는 거죠.

 

VBA로 매크로 작성
VBA로 매크로 작성

이미 매크로가 만들어진 경우 관련 코드가 들어 있습니다. 매크로를 안 만들었으면 여기 빈칸에 매크로 코드를 적거나 받아 온 매크로 코드를 복사하여 넣으면 매크로가 만들어집니다. 그 후 매크로 메뉴에서 옵션들을 변경하면 됩니다.

 

매크로 이름 변경은 편집 메뉴를 클릭하면 똑 같이 VBA화면이 뜨고  

 

Sub "아래로밀기삽입매크로3() 에서

Sub 다음의 "아래로밀기삽입매크로3() " 를 변경해주면 됩니다.  띄어쓰기 안되고, 첫 글자 숫자, 특수문자를 사용하여 매크로 이름 변경은 안됩니다.


5. 빠른 사용 도구 모음에 등록, 사용

 

이제 만들어진  매크로를 빠른 사용 도구 모음에 등록하여 사용하면 버튼 한번 클릭으로 실행이 됩니다. 빠른 도구 모음에 등록은 여기 포스팅을 참고하시기 바랍니다.

 

https://karl5044.tistory.com/819

 

엑셀 셀(행열)삽입, 셀(행열)삭제 매크로와 빠른실행버튼 만들기

엑셀 사용 시 셀이나 행, 열 삽입이나 삭제 시 여러 번의 작업을 통해야 원하는 삽입, 삭제가 가능합니다. 엑셀을 자주 사용하시는 분들은 아실 겁니다. 엑셀 매크로를 사용하여 셀(행, 열) 삽입,

karl5044.tistory.com

 

●●


728x90
반응형

TOP

Designed by 티스토리