이번 글에서는 '매크로 기록' 기능을 소개하고, 이를 간단히 활용하여 시트를 값 복사하는 매크로를 만들어 보겠습니다. 그리고 VB 편집기를 통해 기록된 매크로를 편집하고, 매크로 자체만 저장하고 불러오는 방법을 소개해 보겠습니다.
이번에 만든 현재시트 및 엑셀 파일 내 전체 시트 값 복사 매크로가 들어있는 모듈을 첨부하였으니, 알맞게 사용하셔도 됩니다.
매크로 기록으로 '현재시트 값복사' 매크로 만들기
'매크로 기록'은 엑셀 사용자의 행동, 심지어 스크롤하는 행동까지 VB 코드로 기록하는 기능입니다. 그래서 단순하고, 특정 셀 주소 등이 정해진 작업을 자동화할 때 유용한 기능입니다.
매크로 기록에는 절대 참조로 기록하는 방식과 상대 참조로 기록하는 방식이 있습니다. 절대 참조는 절대적인 셀 위치 주소를 기록하여, 항상 똑같은 셀에서만 매크로가 실행됩니다. 하지만 상대 참조의 경우 현재 셀 위치를 'A1'으로 인식하여 매크로를 실행시킵니다. 이 둘의 차이는 별도의 글을 통해 소개해 드리겠습니다.
한편, 매크로 기록 기능으로 현재시트의 값만 복사하는 매크로를 손쉽게 만들 수 있습니다.
ⓛ 매크로 기록 버튼 클릭
▲'개발도구 탭' → '매크로 기록'으로 매크로 이름, 바로 가기 키(매크로 실행 단축키), 설명을 추가할 수 있습니다. 이때 설정한 내역은 '매크로' 버튼을 클릭하면 다시 확인할 수 있고, 매크로를 선택하여 실행도 할 수 있습니다.
② 매크로 기록 시작
▲매크로 기록을 시작한 후, 'Ctrl + A (현재 시트 전체 영역 선택)' → 'Ctrl + C (복사)' → 'Ctrl + Alt + V (선택하여 붙여 넣기)' → '값' 선택을 순서대로 진행하면 현재 시트 내 함수와 수식이 값으로 복사됩니다.
③ '기록 중지' 클릭으로 매크로 완성
▲이후 개발 도구 탭에서 기록 중지를 누르면 매크로 기록이 종료되면서 기록된 매크로가 완성됩니다.
엑셀 함수가 많아지면 파일이 무거워집니다. 그리고 특히 엑셀 함수로 다른 파일과 연결되어 있으면 연결된 파일이 저장되어 있지 않은 컴퓨터에서 활용할 때 주의해야 합니다. 이때 현재 시트를 값복사하는 매크로를 활용하면 수식을 없애 파일 용량을 줄일 수 있습니다.
VB 편집기로 기록된 매크로 별도 저장하기
▲개발도구 탭에서 'Visual Basic'을 클릭하거나 단축키 Alt + F11를 누르면 VB 편집기가 열립니다.
VB 편집기에서 해당 모듈에 마우스를 대고 우클릭 → '파일 내보내기'으로 저장할 수 있으며, 바로 위의 '파일 가져오기'를 통해 매크로가 기록되어 있는 모듈을 불러올 수 있습니다.
VB 편집기로 기록한 매크로 응용하기
▲'매크로 기록' 기능은 사용자의 행동을 VB 코딩으로 기록합니다. 여기에 코딩을 추가해주면 기록된 매크로를 더욱 발전시킬 수 있습니다.
앞서 매크로 기록으로 만든 '현재시트값복사' 매크로에 변수 선언과 For 문을 더해주면, 모든 시트를 값 복사하는 매크로를 만들 수 있습니다. 이와 관련한 자세한 설명은 추후 다른 글을 통해 소개해 드리겠습니다. 첨부한 모듈 파일을 받으셔서 코딩 구문을 확인해보시고, 매크로도 사용해 보세요.
'엑셀, VBA, 파워쿼리 > VBA 매크로' 카테고리의 다른 글
[엑셀 VBA 매크로] For 구문으로 엑셀 시트 이름 한번에 바꾸기 #1: Range(셀 주소) 버전 (1) | 2023.10.10 |
---|---|
[VBA 매크로] 원하는 이름으로 엑셀시트 생성하기 [Cells(행,열) 버전] (1) | 2023.10.10 |
[엑셀 VBA 코딩] 엑셀 매크로로 시트 생성하기 (0) | 2023.10.10 |
[VBA 매크로] 시트 값복사/모든 시트 값복사 매크로 VB 코드 해석: For 구문 등 (1) | 2023.10.06 |
[VBA 매크로] 매크로를 시작하기 전 엑셀 설정하기 (0) | 2022.12.05 |
댓글