반응형

엑셀 VBA 자동화 (22편): 인사 명부 리스트대로 폴더 1초 만에 자동 생성하기

신규 입사자가 수십 명일 때, 혹은 연말 정산을 위해 직원별 증빙 서류 폴더를 만들어야 할 때 일일이 '새 폴더'를 만들고 이름을 수정하고 계신가요? 오늘은 엑셀 시트에 적힌 이름 리스트를 읽어 윈도우 폴더를 한꺼번에 생성해주는 행정 실무의 '시간 단축 끝판왕' 매크로를 소개합니다.
VBA AUTOMATION GUIDE

행정실이나 인사팀에서 가장 고된 '단순 노동' 중 하나가 바로 폴더 관리입니다. '2024_경영지원팀_김철수', '2024_재무팀_이영희'와 같은 규칙적인 이름의 폴더를 수백 개 만드는 작업은 손가락만 아플 뿐 생산성이 전혀 없습니다. 엑셀 VBA의 MkDir(Make Directory) 명령어를 활용하면 엑셀 시트의 데이터를 기반으로 실제 내 컴퓨터에 폴더를 마법처럼 만들어낼 수 있습니다.

1. 매크로 작성을 위한 클릭 단계
먼저 엑셀을 켜고 Alt + F11을 눌러 VBA 편집기 창을 띄웁니다. 상단 메뉴에서 [삽입(I)] - [모듈(M)]을 클릭하여 깨끗한 백지 상태의 코딩 창을 만듭니다. 여기에 아래의 코드를 그대로 복사해서 붙여넣으세요.

Sub CreateFoldersFromList()
    Dim folderPath As String
    Dim i As Integer, lastRow As Integer

    '1. 폴더가 생성될 경로 (끝에 \를 꼭 붙이세요)
    folderPath = "C:\Users\Desktop\개인파일\"

    '2. 마지막 데이터가 있는 행 찾기
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    '3. 반복문을 통해 폴더 생성
    For i = 2 To lastRow
        On Error Resume Next '이미 폴더가 있는 경우 에러 무시
        MkDir folderPath & Cells(i, 1).Value
    Next i

    MsgBox "폴더 생성이 완료되었습니다!"
End Sub

2. 인수 및 코드 상세 설명
위 코드에서 가장 중요한 부분은 folderPath 변수입니다. 폴더를 만들고자 하는 상위 경로를 큰따옴표 안에 정확히 적어야 합니다. MkDir 명령어는 'Make Directory'의 약자로, 뒤에 오는 텍스트를 이름으로 하는 새 폴더를 생성합니다. Cells(i, 1).Value는 1열(A열)에 적힌 직원 이름을 하나씩 가져와 폴더 이름으로 사용하겠다는 뜻입니다.

💡 실수를 방지하는 핵심 팁 및 주의사항
  • 경로 역슬래시(\): 경로 마지막에 반드시 \ 기호를 붙여야 합니다. 생략하면 폴더 안에 생성되는 게 아니라 경로 이름 뒤에 글자가 붙어버립니다.
  • 금지 문자 주의: 폴더 이름에는 / , : , * , ? , < , > , | 와 같은 특수문자를 사용할 수 없습니다. 리스트에 특수문자가 포함되어 있는지 확인하세요.
  • On Error Resume Next: 만약 같은 이름의 폴더가 이미 존재하면 VBA는 에러를 냅니다. 이 구문을 넣어주면 중복된 폴더는 건너뛰고 다음 사람으로 넘어가게 됩니다.
생성 기준 리스트(A열)매크로 설정 경로실제 생성 결과
경영팀_김철수C:\HR_Docs\C:\HR_Docs\경영팀_김철수 폴더 생성
재무팀_이영희C:\HR_Docs\C:\HR_Docs\재무팀_이영희 폴더 생성
기획팀_박민수C:\HR_Docs\C:\HR_Docs\기획팀_박민수 폴더 생성
폴더를 수동으로 만드는 것은 '업무'가 아니라 '단순 노동'입니다. 오늘 배운 자동 생성 매크로를 여러분의 인사 명부에 연결해 보세요. 수백 명의 서류 함을 1초 만에 세팅하고 남은 시간에는 더 가치 있는 데이터 분석에 집중하시기 바랍니다. 여러분의 칼퇴를 응원합니다.
반응형

+ Recent posts