본문 바로가기
직장인 꿀팁 모음

직장인 엑셀 필수 매크로 총정리 (2025년 최신)

by suukii 2025. 4. 7.
728x90

반복작업에 시간 낭비하지 마세요!
실무에서 꼭 필요한 엑셀 매크로 기능을 정리했습니다. 파일 병합, 중복 제거, 자동 정렬, 조건별 복사 등 매일 반복하는 업무를 클릭 한 번으로 처리할 수 있어요.


📌 엑셀 매크로란?

엑셀 매크로는 **VBA(Visual Basic for Applications)**라는 언어를 기반으로 반복 작업을 자동화하는 기능입니다. 코딩 경험이 없어도 ‘기록’ 기능을 통해 쉽게 만들 수 있으며, 업무 시간을 획기적으로 단축시켜줍니다.


🛠 실무에서 유용한 엑셀 매크로 TOP 5


여러 엑셀 파일 한 시트에 병합하는 매크로

활용 예: 부서별 보고서 파일을 하나로 모을 때 유용
작동 방식: 지정 폴더 내 모든 .xlsx 파일의 첫 번째 시트를 하나의 통합 시트로 병합

Sub 파일병합()
    Dim 폴더경로 As String
    Dim 파일이름 As String
    Dim 통합시트 As Worksheet
    Dim 마지막행 As Long
    Application.ScreenUpdating = False

    Set 통합시트 = ThisWorkbook.Sheets(1)
    폴더경로 = "C:\YourFolderPath\"  ' 경로 수정 필수
    파일이름 = Dir(폴더경로 & "*.xlsx")

    Do While 파일이름 <> ""
        If 파일이름 <> ThisWorkbook.Name Then
            Workbooks.Open 폴더경로 & 파일이름
            With ActiveWorkbook.Sheets(1)
                마지막행 = 통합시트.Cells(Rows.Count, 1).End(xlUp).Row + 1
                .UsedRange.Copy 통합시트.Cells(마지막행, 1)
            End With
            Workbooks(파일이름).Close False
        End If
        파일이름 = Dir
    Loop

    Application.ScreenUpdating = True
    MsgBox "파일 병합 완료!"
End Sub

중복값 자동 제거 매크로

활용 예: 고객명단, 메일링 리스트 등에서 중복 제거할 때

Sub 중복제거()
    Range("A1").CurrentRegion.RemoveDuplicates Columns:=1, Header:=xlYes
    MsgBox "중복 제거 완료!"
End Sub

자동 정렬 매크로

활용 예: 날짜순, 금액순 정렬 필요 시

Sub 자동정렬()
    Range("A1").CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes
    MsgBox "정렬 완료!"
End Sub

특정 조건 행만 다른 시트로 복사

활용 예: "승인"된 데이터만 필터링할 때

Sub 조건복사()
    Dim 원본 As Worksheet, 대상 As Worksheet
    Dim i As Long, j As Long

    Set 원본 = ThisWorkbook.Sheets("Sheet1")
    Set 대상 = ThisWorkbook.Sheets("Sheet2")
    j = 1

    For i = 2 To 원본.Cells(Rows.Count, 1).End(xlUp).Row
        If 원본.Cells(i, 3).Value = "승인" Then
            원본.Rows(i).Copy 대상.Rows(j)
            j = j + 1
        End If
    Next i
    MsgBox "복사 완료!"
End Sub

날짜별 파일 자동 저장 매크로

활용 예: 일일 보고서 자동 백업

Sub 자동저장()
    Dim 파일명 As String
    파일명 = "보고서_" & Format(Now(), "yyyymmdd_hhmmss") & ".xlsx"
    ThisWorkbook.SaveCopyAs "C:\백업경로\" & 파일명
    MsgBox "자동 저장 완료!"
End Sub

 


📂 시트별 파일 분리 매크로

Sub 시트별파일분리()
    Dim ws As Worksheet
    Dim 새통합문서 As Workbook
    Dim 저장경로 As String
    
    저장경로 = "C:\엑셀분리\" ' 👉 경로를 원하는 폴더로 수정하세요
    If Right(저장경로, 1) <> "\" Then 저장경로 = 저장경로 & "\"
    
    Application.ScreenUpdating = False

    For Each ws In ThisWorkbook.Sheets
        ws.Copy
        Set 새통합문서 = ActiveWorkbook
        Application.DisplayAlerts = False
        새통합문서.SaveAs Filename:=저장경로 & ws.Name & ".xlsx", FileFormat:=xlOpenXMLWorkbook
        새통합문서.Close SaveChanges:=False
        Application.DisplayAlerts = True
    Next ws

    Application.ScreenUpdating = True
    MsgBox "시트별 파일 분리 완료!"
End Sub

✅ 사용 방법

  1. 위 코드를 복사하여 Alt + F11 → VBA 편집기 → 새 모듈(Module)에 붙여넣기
  2. 저장경로에 원하는 폴더 경로 입력 (예: C:\Users\사용자명\Desktop\분리결과\)
  3. 매크로 실행 (Alt + F8 → 시트별파일분리 선택)

💡 각 시트는 개별 .xlsx 파일로 저장됩니다. 이름은 시트명으로 저장되며, 기존 파일이 있을 경우 덮어쓰기 주의!

 

 

엑셀 매크로는 단순 반복 작업을 줄이고, 실무 생산성을 높이는 데 매우 효과적입니다. 위에서 소개한 매크로만 잘 활용해도 업무 속도가 2배 이상 향상될 수 있어요. 참고하셔서 업무에 활용하세요!!

 

728x90