Skip to main content

Excel에서 모든 폴더와 하위 폴더를 나열하려면 어떻게 해야 하나요?

Author: Xiaoyang Last Modified: 2025-08-06

디렉토리 또는 파일 관리 작업을 처리할 때 특정 디렉토리 내의 모든 폴더 및 하위 폴더의 종합적인 목록을 빠르게 가져오고 해당 정보를 Excel에서 직접 확인해야 할 수 있습니다. 불행히도, Excel은 지정된 폴더 경로에서 모든 폴더 또는 하위 폴더 이름을 자동으로 검색하는 내장 기능이나 간단한 마법사를 제공하지 않습니다. 이 문서에서는 선택한 디렉토리의 모든 폴더와 하위 폴더를 워크시트에 바로 나열할 수 있도록 하는 VBA 코드를 소개합니다. 이를 통해 사람의 실수 위험을 최소화하고 번거로운 작업을 없애 데이터 조직을 신속하게 추적하고 관리할 수 있습니다.

VBA 코드를 사용하여 모든 폴더 및 하위 폴더 나열하기


VBA 코드를 사용하여 모든 폴더 및 하위 폴더 나열하기

지정된 디렉토리로부터 모든 폴더와 하위 폴더 이름을 추출하고 Excel에 표시하려는 경우, VBA(Visual Basic for Applications)를 활용하는 것이 효과적인 솔루션입니다. 이 방법은 폴더 이름뿐만 아니라 폴더 경로, 생성 날짜, 마지막 수정 날짜와 같은 추가 정보를 얻을 수 있는 유연성과 제어력을 제공합니다. 본 방식은 특히 Excel의 개발자 기능에 익숙하거나 동적이거나 자주 변경되는 파일 시스템을 다루는 사용자에게 적합합니다.

1. ALT + F11을 눌러 "Microsoft Visual Basic for Applications" 편집기를 엽니다. 이 도구를 사용하면 워크북 내에 매크로를 추가하고 편집할 수 있습니다.

2. VBA 편집기에서 삽입 > 모듈을 클릭합니다. 그러면 새 모듈 창이 생성됩니다. 다음 코드를 모듈에 복사하여 붙여넣습니다.

VBA 코드: 모든 폴더 및 하위 폴더 이름 나열하기

Sub FolderNames()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Choose the folder"
    .Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
    xRow = Range("A1").End(xlDown).Row + 1
    Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
    getSubFolder subfld
Next subfld
End Sub

3. 코드를 삽입한 후, VBA 편집기에서 F5를 누르거나 실행 버튼을 클릭하여 매크로를 실행합니다. 폴더 선택 대화 상자가 나타나 스캔할 대상 디렉토리를 선택하라는 메시지가 표시됩니다.

vba code to select folder name

4. 원하는 디렉토리를 선택하고 확인을 클릭합니다. 매크로는 디렉토리를 처리하고 전체 경로, 상위 디렉토리, 이름, 생성 날짜 및 마지막 수정 날짜와 함께 모든 폴더와 하위 폴더를 나열하는 새 워크북을 생성합니다.

all folder names are listed in Excel

이 코드를 사용할 때의 몇 가지 실용적인 팁과 참고사항은 다음과 같습니다:

  • 디렉토리 구조가 매우 큰 경우, 매크로가 모든 폴더를 처리하는 데 시간이 걸릴 수 있습니다. 실행 중에는 잠시만 기다려주세요 그리고 프로세스를 중단하지 마십시오.
  • VBA 방법은 매크로 설정이 활성화되어 있어야 합니다. 그렇지 않으면 코드가 제대로 실행되지 않을 수 있습니다. 보안 경고가 발생할 경우 Excel 옵션에서 신뢰 센터 설정을 확인하세요.
  • 잘못된 폴더를 선택한 경우, 매크로를 다시 실행하고 올바른 디렉토리를 선택하기만 하면 됩니다.
  • 이 접근법은 폴더 및 하위 폴더 정보만 나열합니다. 파일도 나열해야 하는 경우 아래 관련 문서를 참조하여 더 많은 옵션을 확인하세요.
  • 여러 사용자가 워크북을 공유하는 경우, 이 동적 나열 기능을 사용하려면 각자의 컴퓨터에서 매크로를 활성화해야 한다는 점을 상기시켜 주세요.
  • 생성된 워크북이 비어 있거나 불완전한 경우 선택한 디렉토리가 비어 있지 않은지, 적절한 읽기 권한이 있는지 확인하세요. 특히 깊거나 복잡한 폴더 트리의 경우 시스템 리소스 한도를 검토하고 필요시 배치 처리 또는 하위 디렉토리 처리를 고려하세요.

이 VBA 솔루션은 유연하며 추가 애드인이나 외부 소프트웨어가 필요하지 않고 편의를 위해 출력 워크북을 자동으로 생성합니다. 그러나 기본적인 매크로 작업에 익숙한 사용자에게 가장 적합하며, 특정 사용자 정의를 위해 추가 조정이 필요할 수 있습니다.


관련 문서:

Excel에서 디렉토리의 파일을 워크시트에 나열하는 방법은 무엇인가요?

최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!