복사해서 바로 쓰는 직장인 엑셀 업무 자동화 매크로(VBA) 치트키 코드 3선

 

엑셀 업무자동화 VBA 매크로 소스


안녕하세요! 첫 번째 가이드북을 통해 챗GPT로 엑셀 수식을 다루는 법을 마스터하신 분들을 위해, 오늘은 직장인 실무 능률을 300% 이상 폭발시켜 줄 "진짜 인공지능급 엑셀 자동화 매크로(VBA) 코드 모음집"을 공개합니다.

단순히 함수를 입력하는 수준을 넘어, 매일 반복되는 수십 개의 파일 취합, 이메일 대량 발송, 서식 정리 업무를 '마우스 클릭 한 번'으로 끝내고 싶으시다면 오늘 공유해 드리는 3가지 특수 코드를 메모장에 복사해서 바로 활용해 보시기 바랍니다. 코딩을 전혀 몰라도 누구나 10초 만에 적용할 수 있습니다.


1. [치트키 01] 여러 개의 엑셀 파일 하나로 자동 병합하기

매달 또는 매주 각 부서나 지점에서 보내온 수십 개의 엑셀 보고서 데이터를 하나의 시트로 합치느라 하루 종일 복사 붙여넣기(Ctrl+C, Ctrl+V)를 하고 계셨나요? 아래 코드는 특정 폴더 안에 있는 모든 엑셀 파일의 데이터를 순식간에 하나의 시트로 긁어모아 주는 기적의 자동화 코드입니다.


Sub MergeExcelFiles()

    Dim FolderPath As String

    Dim SelectedFile As String

    Dim WorkBk As Workbook

    Dim SourceRange As Range

    Dim DestSheet As Worksheet

    Dim NextRow As Long

    

    ' 1. 통합할 엑셀 파일들이 들어있는 폴더 경로 지정 (맨 끝에 \ 필수)

    FolderPath = "C:\ExcelMerge\" 

    Set DestSheet = ActiveWorkbook.ActiveSheet

    SelectedFile = Dir(FolderPath & "*.xls*")

    

    Application.ScreenUpdating = False

    Do While SelectedFile <> ""

        If SelectedFile <> ActiveWorkbook.Name Then

            Set WorkBk = Workbooks.Open(FolderPath & SelectedFile)

            ' 각 파일의 A2부터 데이터가 있는 마지막 셀까지 지정 (제목 행 제외)

            Set SourceRange = WorkBk.Sheets(1).Range("A2:Z" & WorkBk.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row)

            

            NextRow = DestSheet.Cells(Rows.Count, "A").End(xlUp).Row + 1

            SourceRange.Copy DestSheet.Range("A" & NextRow)

            WorkBk.Close savechanges:=False

        End If

        SelectedFile = Dir

    Loop

    Application.ScreenUpdating = True

    MsgBox "모든 파일 데이터 병합이 완료되었습니다!", vbInformation

End Sub

  • 사용 팁: 컴퓨터 C드라이브에 ExcelMerge라는 이름의 폴더를 만들고 병합하고 싶은 파일들을 다 넣은 뒤 이 매크로를 실행하면 3초 만에 깔끔하게 합쳐집니다.


2. [치트키 02] 클릭 한 번으로 모든 시트 정렬 및 서식 자동 맞춤

인터넷 시스템에서 다운로드한 엑셀 파일이나 타 부서에서 받은 파일들은 글자 크기도 제각각이고, 열 너비가 좁아 데이터가 ###으로 깨져 보이기 일쑤입니다. 표 전체를 깔끔하게 대기업 기획서 스타일로 표준화해 주는 서식 자동 맞춤 코드입니다.

Sub AutoFormatAllSheets()

    Dim WS As Worksheet

    

    For Each WS In ActiveWorkbook.Worksheets

        With WS

            .Cells.Font.Name = "맑은 고딕" ' 폰트 통일

            .Cells.Font.Size = 10 ' 글자 크기 통일

            .Rows.RowHeight = 22 ' 행 높이를 시원하게 확장

            .Columns.AutoFit ' 열 너비 글자 길이에 맞게 자동 조절

            .Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous ' 테두리 자동 생성

            .Range("A1").CurrentRegion.Rows(1).Interior.Color = RGB(240, 240, 240) ' 제목 행 회색 강조

            .Range("A1").CurrentRegion.Rows(1).Font.Bold = True ' 제목 글자 굵게

        End With

    Next WS

    MsgBox "전체 시트 서식 표준화가 완료되었습니다!", vbInformation

End Sub





3. [치트키 03] 마감일 지나면 빨간색으로 깜빡이는 자동 경고 알림

회사에서 거래처 납기일이나 자격증 갱신일, 프로젝트 마감일을 관리할 때 유용한 코드입니다. 오늘 날짜를 기준으로 마감일이 지났거나 임박한 데이터가 있으면 행 전체를 빨간색 배경에 굵은 글씨로 변환하여 실수를 방지해 줍니다.

Sub DeadlineAlert()

    Dim cell As Range

    Dim DeadlineCol As String

    Dim LastRow As Long

    

    ' 마감일이 적혀있는 열 문자 입력 (예: D열이면 "D")

    DeadlineCol = "D" 

    LastRow = Cells(Rows.Count, DeadlineCol).End(xlUp).Row

    

    For Each cell In Range(DeadlineCol & "2:" & DeadlineCol & LastRow)

        If IsDate(cell.Value) Then

            ' 마감일이 오늘 날짜보다 과거이거나 같으면 실행

            If cell.Value <= Date Then

                cell.EntireRow.Interior.Color = RGB(255, 200, 200) ' 연분홍색 배경

                cell.EntireRow.Font.Color = RGB(200, 0, 0) ' 짙은 빨간색 글자

                cell.EntireRow.Font.Bold = True

            End If

        End If

    Next cell

    MsgBox "마감일 경고 데이터 체크가 완료되었습니다!", vbInformation

End Sub




💡 [초보자 필수] 복사한 매크로 코드 엑셀에 적용하는 방법

  1. 자동화를 적용할 엑셀 파일을 켜고 키보드의 Alt + F11을 동시에 누릅니다. (VBA 개발자 창이 켜집니다.)

  2. 상단 메뉴에서 [삽입] $\rightarrow$ [모듈(Module)]을 클릭합니다.

  3. 새로 열린 하얀색 편집창에 위에 있는 치트키 코드 중 원하는 코드를 통째로 복사(Ctrl+C)하여 붙여넣기(Ctrl+V) 합니다.

  4. 창을 닫고 엑셀 화면으로 돌아와 Alt + F8을 누른 뒤, 방금 만든 매크로 이름을 선택하고 [실행]을 누르면 마법처럼 자동화가 작동합니다.

  5. 주의: 파일을 저장하실 때는 반드시 파일 형식을 엑셀 매크로 사용 통합 문서 (.xlsm)로 선택하셔야 코드가 가라앉지 않고 보존됩니다.

이 블로그의 인기 게시물

연휴기간 KTX 예약 성공률 높이는 실전 타이밍 가이드

현재 적용 중인 KTX 특가 이벤트와 할인 쿠폰 총정리

KTX 승차권 예매 방법 및 주의사항