Làm cách nào để liệt kê tất cả các thư mục và thư mục con trong Excel?
Bạn đã bao giờ gặp phải vấn đề liệt kê tất cả các thư mục và thư mục con từ một thư mục cụ thể vào một trang tính chưa? Trong Excel, không có cách nào nhanh chóng và tiện dụng để lấy tên của tất cả các thư mục trong một thư mục cụ thể cùng một lúc. Để giải quyết công việc, bài viết này có thể giúp bạn.
Liệt kê tất cả các thư mục và thư mục con bằng mã VBA
Liệt kê tất cả các thư mục và thư mục con bằng mã VBA
Nếu bạn muốn lấy tất cả các tên thư mục từ một thư mục được chỉ định, mã VBA sau có thể giúp bạn, vui lòng thực hiện như sau:
1. Giữ ALT + F11 chìa khóa và nó mở Cửa sổ Microsoft Visual Basic for Applications.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.
Mã VBA: Liệt kê tất cả các thư mục và tên thư mục con
Sub FolderNames()
'Update 20141027
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. Sau đó nhấn F5 phím để chạy mã này và Chọn thư mục cửa sổ sẽ bật ra, sau đó bạn cần chọn thư mục mà bạn muốn liệt kê tên thư mục và thư mục con, xem ảnh chụp màn hình:
4. Nhấp chuột OKvà bạn sẽ nhận được đường dẫn thư mục và các thư mục con, thư mục, tên, ngày tạo và ngày sửa đổi lần cuối trong sổ làm việc mới, xem ảnh chụp màn hình:
Bài viết liên quan:
Làm thế nào để liệt kê các tệp trong một thư mục vào trang tính trong Excel?
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!