반응형
엑셀 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
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초 만에 세팅하고 남은 시간에는 더 가치 있는 데이터 분석에 집중하시기 바랍니다. 여러분의 칼퇴를 응원합니다.
반응형
'코딩으로 시간 벌기 > 엑셀 VBA' 카테고리의 다른 글
| 엑셀 VBA 자동화 (24편): 행 데이터를 한 줄씩 쪼개어 서식 시트에 맞춰 개별 파일로 분리 저장하기 (0) | 2026.05.22 |
|---|---|
| 엑셀 VBA 자동화 (23편): 버튼 하나로 마스터 데이터에서 부서별 독립 엑셀 파일 일괄 분리 저장하기 (1) | 2026.05.19 |
| 엑셀 VBA 자동화 (21편): 보고서 정제의 기본! 수천 줄의 지출결의서에서 빈 행만 1초 만에 일괄 삭제하기 (0) | 2026.05.12 |
| 엑셀 VBA 자동화 (20편): 필요한 부분만 쏙! 선택 영역 별도 파일로 즉시 저장하기 (0) | 2026.05.07 |
| 엑셀 VBA 자동화 (19편): 보안이 필요한 인사/재무 시트, 1초 만에 숨기고 해제하기< (0) | 2026.05.06 |
