ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엑셀 '매크로 기록' 사용방법
    Exel 2024. 6. 29. 06:28
    반응형

    엑셀 '매크로 기록'이란?

    엑셀의 '매크로 기록' 기능은 엑셀에서 하는 작업을 자동화된 매크로 코드로 변환해 주는 기능입니다. 이는 과거 TV나 비디오의 녹화 기능과 비슷하다고 생각하시면 됩니다. 

    사용 방법

    1. '매크로 기록' 창 열기

     

    2. 매크로 이름을 입력하고, 매크로 저장 위치를 선택한 후, 필요에 따라 바로가기 키와 설명을 입력합니다. 그런 다음 '확인' 버튼을 클릭합니다. 

    ※ 매크로 저장 위치는 '현재 통합 문서'를 선택하시면 됩니다. 

    ※ 바로가기 키와 설명은 선택 사항이며, 나중에 언제든지 변경할 수 있습니다. 

    3. 매크로로 저장할 작업을 진행합니다. 

    4. 작업이 끝나면 '기록 중지'를 클릭하여 매크로 기록을 종료합니다.

    5. 기록된 매크로를 사용하시면 됩니다. 미리 지정한 단축키를 누르거나 '매크로' 창에서 선택하여 실행하시면 됩니다. 

    Example

    다음 엑셀 문서를 변환하는 매크로를 만들어 보겠습니다. 

    작업 내용

    1. 열 삭제 : 열 E, F, H를 삭제합니다.

    2. 글자 크기 및 글꼴 변경 : 문서 전체를 글자 크기 10, 글꼴을 돋움으로 변경합니다.

    3. 열의 너비 변경 : 모든 열의 너비를 8로 설정합니다.

    4. 정렬 : 문서 전체의 내용을  가운데 정렬로 설정합니다. 

    5. 열 B와 열 D의 차이 계산 : 마지막 열에 열 B와 열 D의 차이를 계산하여 추가합니다. 

    6. 작업이 완료되었으므로 '기록 중지'를 클릭하여 매크로 기록을 마무리합니다. 

    주의사항

    다음은 위에서 만든 매크로 코드의 일부입니다. 

    붉은 사각형은 글자 크기와 글꼴을 변경할 범위를 지정합니다. 이 범위를 벗어난 문서는 변경되지 않습니다. 사용하려는 문서의 범위가 제각각이라면 매크로의 적용 범위를 넉넉하게 지정하여야 합니다. 

    파란 사각형에는 매크로 기록 중 실수로 클릭한 부분이 코드화되어 있습니다. 매크로 기록은 마우스 클릭이나 스크롤 이동 등 의도하지 않은 작업도 포함할 수 있으므로 주의가 필요합니다. 간단한 매크로라면 큰 문제가 없지만, 작업할 양이 많다면 시간이 많이 소요될 수 있습니다. 

    매크로 기록 코드의 문제점과 개선 방법

    '매크로 기록' 기능은 자동화된 코드를 생성하는데 매우 유용하지만, 코드 중복이나 불필요한 선택 및 시트 전환이 포함될 수 있습니다. 따라서 생성된 코드를 점검하고 중복을 제거하여 최적화하면 더 효율적이고 유지보수하기 쉬운 코드로 개선할 수 있습니다. 

    코드의 중복을 제거하고 효율적으로 개선하는 작업은 AI에게 맡길 수 있습니다. AI에게 매크로 코드를 제공하고 '이 코드를 최적화해 줘'라고 요청하면 다음과 같은 깔끔한 코드로 정리해 줍니다. 

    Sub 매크로기록예제()
    '
    ' 매크로기록예제 매크로
    ' '매크로 기록' 사용 예제
    '
    ' 바로 가기 키: Ctrl+q
    '
        ' 열 E, F, H 삭제
        Columns("E:E,F:F,H:H").Delete Shift:=xlToLeft
        
        ' 문서 전체 범위 지정
        Dim rng As Range
        Set rng = Range("A1:K30")
        
        ' 글꼴 및 글자 크기 변경
        With rng.Font
            .Name = "돋움"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        
        ' 열 너비 변경
        Columns("A:K").ColumnWidth = 8
        
        ' 문서 전체 가운데 정렬
        With rng
            .HorizontalAlignment = xlCenter
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
        
        ' 열 B와 열 D의 차이 계산
        With Range("L2")
            .FormulaR1C1 = "=RC[-10]-RC[-8]"
            .AutoFill Destination:=Range("L2:L" & rng.Rows.Count), Type:=xlFillDefault
        End With
    End Sub

     

    반응형

    댓글

Designed by Vitual Stylist