Excel'de tüm klasörleri ve alt klasörleri nasıl listeleyebilirim?
Belirli bir dizindeki tüm klasörleri ve alt klasörleri bir çalışma sayfasına listeleyen bu sorunla hiç karşılaştınız mı? Excel'de, belirli bir dizindeki tüm klasörlerin adını aynı anda almanın hızlı ve kullanışlı bir yolu yoktur. Görevin üstesinden gelmek için bu makale size yardımcı olabilir.
Tüm klasörleri ve alt klasörleri VBA kodu ile listeleyin
Tüm klasörleri ve alt klasörleri VBA kodu ile listeleyin
Tüm klasör adlarını belirli bir dizinden almak istiyorsanız, aşağıdaki VBA kodu size yardımcı olabilir, lütfen şu şekilde yapın:
1. Basılı tutun ALT + F11 anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic penceresi.
2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresi.
VBA kodu: Tüm klasörleri ve alt klasör adlarını listeleyin
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. Daha sonra tuşuna basın. F5 bu kodu çalıştırmak için anahtar ve bir Klasörü seçin penceresi açılır, ardından klasör ve alt klasör adlarını listelemek istediğiniz dizini seçmeniz gerekir, ekran görüntüsüne bakın:
4. tıklayın OKve yeni bir çalışma kitabında klasör ve alt klasörlerin yolunu, dizini, adı, oluşturulma tarihini ve son değiştirilme tarihini alacaksınız, ekran görüntüsüne bakın:
İlgili makale:
Bir dizindeki dosyaları Excel'de çalışma sayfasına nasıl listeleyebilirim?
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir
- Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
- Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!