[VBA 매크로] 매크로 기록과 VB 편집기 (값복사 매크로 첨부)
엑셀, VBA, 파워쿼리/VBA 매크로

[VBA 매크로] 매크로 기록과 VB 편집기 (값복사 매크로 첨부)

by Jongg 2023. 10. 5.
728x90

이번 글에서는 '매크로 기록' 기능을 소개하고, 이를 간단히 활용하여 시트를 값 복사하는 매크로를 만들어 보겠습니다. 그리고 VB 편집기를 통해 기록된 매크로를 편집하고, 매크로 자체만 저장하고 불러오는 방법을 소개해 보겠습니다. 

이번에 만든 현재시트 및 엑셀 파일 내 전체 시트 값 복사 매크로가 들어있는 모듈을 첨부하였으니, 알맞게 사용하셔도 됩니다.

값복사.bas
0.00MB


매크로 기록으로 '현재시트 값복사' 매크로 만들기

'매크로 기록'은 엑셀 사용자의 행동, 심지어 스크롤하는 행동까지 VB 코드로 기록하는 기능입니다. 그래서 단순하고, 특정 셀 주소 등이 정해진 작업을 자동화할 때 유용한 기능입니다.

매크로 기록에는 절대 참조로 기록하는 방식과 상대 참조로 기록하는 방식이 있습니다. 절대 참조는 절대적인 셀 위치 주소를 기록하여, 항상 똑같은 셀에서만 매크로가 실행됩니다. 하지만 상대 참조의 경우 현재 셀 위치를 'A1'으로 인식하여 매크로를 실행시킵니다. 이 둘의 차이는 별도의 글을 통해 소개해 드리겠습니다. 

 

한편, 매크로 기록 기능으로 현재시트의 값만 복사하는 매크로를 손쉽게 만들 수 있습니다. 

ⓛ 매크로 기록 버튼 클릭 

▲'개발도구 탭' '매크로 기록'으로 매크로 이름, 바로 가기 키(매크로 실행 단축키), 설명을 추가할 수 있습니다. 이때 설정한 내역은 '매크로' 버튼을 클릭하면 다시 확인할 수 있고, 매크로를 선택하여 실행도 할 수 있습니다. 

 

② 매크로 기록 시작

▲매크로 기록을 시작한 후, 'Ctrl + A (현재 시트 전체 영역 선택)'  'Ctrl + C (복사)' 'Ctrl + Alt + V (선택하여 붙여 넣기)' '값' 선택을 순서대로 진행하면 현재 시트 내 함수와 수식이 값으로 복사됩니다. 

 

③ '기록 중지' 클릭으로 매크로 완성

▲이후 개발 도구 탭에서 기록 중지를 누르면 매크로 기록이 종료되면서 기록된 매크로가 완성됩니다.

 

엑셀 함수가 많아지면 파일이 무거워집니다. 그리고 특히 엑셀 함수로 다른 파일과 연결되어 있으면 연결된 파일이 저장되어 있지 않은 컴퓨터에서 활용할 때 주의해야 합니다. 이때 현재 시트를 값복사하는 매크로를 활용하면 수식을 없애 파일 용량을 줄일 수 있습니다. 

 

 

VB 편집기로 기록된 매크로 별도 저장하기

 

▲개발도구 탭에서 'Visual Basic'을 클릭하거나 단축키 Alt + F11를 누르면 VB 편집기가 열립니다. 

VB 편집기에서 해당 모듈에 마우스를 대고 우클릭 → '파일 내보내기'으로 저장할 수 있으며, 바로 위의 '파일 가져오기'를 통해 매크로가 기록되어 있는 모듈을 불러올 수 있습니다.  

 

VB 편집기로 기록한 매크로 응용하기

▲'매크로 기록' 기능은 사용자의 행동을 VB 코딩으로 기록합니다. 여기에 코딩을 추가해주면 기록된 매크로를 더욱 발전시킬 수 있습니다. 

앞서 매크로 기록으로 만든 '현재시트값복사' 매크로에 변수 선언과 For 문을 더해주면, 모든 시트를 값 복사하는 매크로를 만들 수 있습니다. 이와 관련한 자세한 설명은 추후 다른 글을 통해 소개해 드리겠습니다. 첨부한 모듈 파일을 받으셔서 코딩 구문을 확인해보시고, 매크로도 사용해 보세요. 

 

 

728x90

댓글