KutoolsforOffice— 하나의 솔루션, 다섯 가지 강력한 도구。적은 노력으로 더 큰 성과。

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

작성자Xiaoyang수정 날짜

디렉터리 또는 파일 관리 작업을 수행할 때 특정 디렉터리 내 모든 폴더와 하위 폴더의 포괄적인 목록을 신속하게 확보하고 해당 정보를 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. 코드를 삽입한 후F5키를 누르거나 VBA 편집기에서실행버튼을 클릭하여 매크로를 실행합니다。 그러면 폴더와 하위 폴더를 스캔할 대상 디렉터리를 선택하라는폴더 선택대화 상자가 나타납니다。

폴더 이름을 선택하는 VBA 코드

4. 원하는 디렉터리를 선택하고확인을 클릭합니다。 매크로는 디렉터리를 처리하여 전체 경로, 직계 상위 디렉터리, 이름, 생성 날짜 및 마지막 수정 날짜와 함께 모든 폴더와 하위 폴더를 포함하는 새 워크북 목록를 생성합니다(아래 예시 참조):

모든 폴더 이름이 Excel에 나열됨

이 코드를 사용할 때 유용한 실용 팁 및 참고 사항입니다:

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

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


관련 문서:

Excel 에서 디렉터리의 파일을 워크시트에 나열하려면 어떻게 해야 하나요?

최고의 Office 생산성 도구

🤖KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행   |  코드 생성|  사용자 지정 수식 생성  |  데이터 분석 및 차트 생성|  향상된 함수 호출
인기 기능:찾기, 강조 표시 또는 중복 표시   |  빈 행 삭제   |  데이터 손실 없이 열 결합 또는 셀 제거   |  공식을 사용하지 않는 반올림...
슈퍼 LOOKUP:다중 조건 VLookup  |  다중 값 VLookup  |   여러 시트에서 VLookup   |   퍼지 매치....
고급 드롭다운 목록:드롭다운 목록 빠르게 생성   |  종속형 드롭다운 목록   |  다중 선택 드롭다운 목록....
열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교...
주요 기능:그리드 포커스   |  디자인 보기   |향상된 수식 표시줄   | 워크북 및 시트 관리자   |  자원 라이브러리(자동 텍스트)|  날짜 선택기   |  워크시트 병합  |  암호화/셀 해독   | 목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。
상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)|   50+차트유형(간트 차트, ...)|   40+ 실용적인수식(생일을 기준으로 나이 계산, ...)|   19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)|   12 변환도구(단어로 변환하기,환율 변환, ...)|   7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능
Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개 이상의 언어를 지원합니다!

Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。


Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다

  • Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
  • 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!

모든 Kutools 애드인。 하나의 설치 프로그램

Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。

ExcelWordOutlookTabsPowerPoint
  • 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
  • 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
  • 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
  • 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
  • 최고의 가성비— 개별 애드인 구매 대비 절약