티스토리 뷰


"엑셀 매크로(Macro) 기록기능 활용하기"



오늘은 엑셀 기능 중

매크로(Macro) 기능 활용에 대한 내용입니다.



매크로는 단순 반복작업이 필요할 때

유용합니다.



여러명의 작업자가 만든 개별파일들의 내용을

하나의 파일 또는 하나의 시트로 Merge(통합)할 경우나,



어떤 규칙에 의해 단순반복작업을 해야 할 경우

작업시간을 현저하게 단축시켜 줍니다.



단,

Visual Basic 프로그래밍 언어의 이해

엑셀 매크로에서 제공하는 함수에 대한 이해가

있어야 합니다.



이를 손쉽게 따라할 수 있는 방법을

얘기해보고자 합니다.



바로 "매크로기록" 기능입니다.



엑셀 상단 리본메뉴에서

"보기 > 매크로 > 매크로기록"을 선택합니다.





매크로기록을 선택한 이후의

모든 작업은 기록되고,


매크로 실행 시

동일한 작업이 자동실행 됩니다.









예를들어 아래와 같이

국가별 기관명이 있는 파일이 있을 경우



각 국가별로 시트(Sheet)를 별도로 분리한다고 할 때





전체 List가 있는 시트(Sheet)에서,









1. 리스트박스 국가를 선택하고,

2. A~D 열을 복사하고,











3. 새로운 시트(Sheet)를 생성하고,

4. 복사한 내용을 붙여넣,

5. 셀 너비를 조정하고,

6. 시트명을 '국가명'으로 바꾸는


일련의 작업이 필요합니다.





한번만 하면 되는

일회성 작업은 매크로의 의미가 없지만,



매일, 매주, 매월 등

반복적으로 작업을 해야하는 상황이라면,





매크로 기록을 통해

위 1~6의 작업을 실행 후,





매크로 중지를 하면,


아래와 같은 소스코드가 생성이 됩니다.






엑셀에서 "Alt + F11"를 누르면

위와 같은 Macro 창이 나타납니다.




각 라인을 해석하면,


--------------------------------------------------------------
Sub 매크로1()

    ActiveSheet.Range("$A$1:$D$556").AutoFilter Field:=1, Criteria1:="브라질"
    = 현재 엑셀 Sheet의 A1~D556 범위의 A필드값이 "브라질"인것을 필터링
    
    Columns("A:D").Select
    Selection.Copy
    = 컬럼 A~D 를 선택하고, 복사
    
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Paste
    = 신규 Sheet를 생성하고, 생성한 시트에 붙여넣기

    
    Columns("A:D").Select
    Columns("A:D").EntireColumn.AutoFit
    = 신규 Sheet의 A~D열의 너비 맞춤

    
    ActiveSheet.Name = "브라질"
    = 신규 Sheet의 이름을 "브라질"로 변경

End Sub

--------------------------------------------------------------


ActiveSheet 나 AutoFilter, Sheet.Add 등
엑셀 매크로만의 명령어를 통해
작업이 진행됩니다.



위 작업은 단순히 "브라질"만 한 것이지만,

Sub 매크로명()
 ~ 
End Sub 사이의
매크로 프로그램을 국가 수 만큼 복사하고,

국가명위치의 "브라질"을 "중국", "대만", "일본"등과 같이
변경해주면,

분리하고자 하는 국가만큼 Sheet가 생성이 되고
시트이름을 국가별로 생성해줍니다.


가령 200여개의 국가를 분리해야 할 경우,


수작업으로 하면
최소 20~30분은 소요될 작업


매크로 작업으로 10초 안에 완료할 수 있습니다.




주의할 점






파일 저장 시

이와같은 팝업이 뜨는데,


이 창에서 "아니오"를 선택해야 합니다.

("예"를 누르면 매크로가 삭제되고 일반문서로 저장됨)









엑셀 통합문서(*.xlsx)가 아닌,

엑셀 매크로 사용 통합 문서(*.xlsm)로

저장해야 합니다.



이상 엑셀 매크로 기록기능 사용하기
포스팅 마칩니다.~










댓글