Note: The other languages of the website are Google-translated. Back to English

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

Office Sekmesi Office'te Sekmeli Düzenleme ve Göz Atmayı Etkinleştirin ve İşinizi Çok Daha Kolay Hale Getirin ...
Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır
  • Her Şeyi Yeniden Kullanın: En çok kullanılan veya karmaşık formülleri, grafikleri ve diğer her şeyi favorilerinize ekleyin ve gelecekte bunları hızla yeniden kullanın.
  • 20'den fazla metin özelliği: Metin Dizesinden Sayı Ayıklama; Metin Parçalarını Çıkarın veya Çıkarın; Sayıları ve Para Birimlerini İngilizce Kelimelere dönüştürün.
  • Araçları Birleştirme: Birden Fazla Çalışma Kitabı ve Çalışma Sayfası Bir Arada; Veri Kaybetmeden Birden Çok Hücre / Satır / Sütunu Birleştirme; Yinelenen Satırları ve Toplamı Birleştir.
  • Araçları Böl: Verileri Değere Göre Birden Çok Sayfaya Bölün; Birden Çok Excel, PDF veya CSV Dosyasına Bir Çalışma Kitabı; Birden Çok Sütuna Bir Sütun.
  • Atlamayı Yapıştır Gizli / Filtrelenmiş Satırlar; Say ve Toplam Arka Plan Rengine Göre; Kişiselleştirilmiş E-postaları Birden Fazla Alıcıya Toplu Olarak Gönderin.
  • Süper Filtre: Gelişmiş filtre şemaları oluşturun ve herhangi bir sayfaya uygulayın; Sırala hafta, gün, sıklık ve daha fazlasına göre; filtre kalın, formüller, yorum ...
  • 300'den fazla güçlü özellik; Office 2007-2021 ve 365 ile çalışır; tüm dilleri destekler; Kuruluşunuzda veya kuruluşunuzda kolay devreye alma.

ok mavi sağ balon 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:

doc-list-klasör-adları-1

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:

doc-list-klasör-adları-1


İlgili makale:

Bir dizindeki dosyaları Excel'de çalışma sayfasına nasıl listeleyebilirim?


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

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!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (18)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çok teşekkürler. Klasörlerimle bir txt almak için cmd komut istemini kullanıyordum, sonra excel'e kopyaladım ama şimdi işleri benim için kolaylaştırıyorsun :)
Bu yorum sitedeki moderatör tarafından en aza indirildi
Klasör için de link oluşturmam gerekirse, kodlamada neleri değiştirmeliyim ve buton oluşturup aynı kodlamayı ona bağlayamayız, bu yüzden makro çalıştırmayı bilmeyen kullanıcılar için faydalı olacaktır.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Tam olarak istediğini yaptım. Whorksheet'e şirket logomu yerleştirdim, sonra üzerine sağ tıklayıp bir makro atadım (yukarıdaki kod budur.) Ayrıca nasıl yapılır kullanılan kullanıcı talimatlarını da ekleyebilirsiniz.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu kod gerçekten günü kurtardı. Paylaştığın için teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, talimatlarınızı takip ettim ama çalıştırmak için F5'e bastığımda hata alıyorum. Aşağıdaki hata "Dim xWs As Worksheet"i vurgular. Kullanabileceğim güncellenmiş bir kod var mı? Derleme hatası: Kullanıcı tanımlı tür tanımlı değil
Bu yorum sitedeki moderatör tarafından en aza indirildi
[quote]Merhaba, talimatlarınızı takip ettim ama çalıştırmak için F5'e bastığımda hata alıyorum. Aşağıdaki hata "Dim xWs As Worksheet"i vurgular. Kullanabileceğim güncellenmiş bir kod var mı? Derleme hatası: Kullanıcı tanımlı tür tanımlı değilCaralyn tarafından[/quote] Kutools eklentisini mi yoksa MS Excel VBA düzenleyicisini mi kullanıyorsunuz? Eklentiyi kullanmadığım için hatanızı kopyalayamıyorum. MS VBA Editor'ü kullanmak hatasız çalışır.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu kodu çalıştırdığımda çalışıyor ama sadece seçtiğim klasörün yanındaki ilk klasörü gösteriyor. Örneğin, kodu çalıştırdığımda "C:\Users\Johnson\Music" öğesini seçiyorum (Not: Müzik Klasörümde 70 Klasör var) Kod çalıştığında yalnızca ilk klasörü gösteriyor ve ardından içindeki tüm klasörleri listeliyor. dosya. Müzik klasöründeki tüm klasörleri listelemesini istiyorum.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Ben diğerleriyle birlikteyim - bir noktaya kadar işe yarıyor.

Benim için bu nokta, yeni s/s'yi yaratması, gösterdiğim klasörü detaylandırma (Hücre A1'de), 2. satırda sarı vurgulanmış bir çubuk ve ardından başka hiçbir şey gelmemesi!

Baktığım klasör alt klasörler dışında boş (yani veri dosyası yok) ve alt klasörler hiç görünmüyor.

Alt klasörleri ve dosyalarını listelememe yardımcı olabilecek var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Boyut eklemek için değiştirdim:



Alt Klasör Adları()
'20141027 güncellemesi
Application.ScreenUpdating = Yanlış
xPath'i Dize Olarak Karartın
Çalışma Sayfası Olarak Dim xWs
Dim fso As Object, j As Long, folder1 As Object
Application.FileDialog(msoFileDialogFolderPicker) ile
.Title = "Klasörü seçin"
.Göstermek
İle bitmek
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Uygulama.Çalışma Kitapları.Add
xW'leri ayarla = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 6).Value = Array("Yol", "Dir", "Ad", "Oluşturma Tarihi", "Son Değiştirilme Tarihi", "Boyut")
Fso = CreateObject ("Scripting.FileSystemObject") olarak ayarlayın
Klasör1'i ayarla = fso.getFolder(xPath)
getSubFolder klasörü1
xWs.Cells(2, 1).Resize(1, 6).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 6).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Alt getSubFolder(ByRef prntfld As Object)
Alt Klasörü Nesne Olarak Karart
Nesne Olarak Dim subfld
xRow'u Uzunlukta Karart
prntfld.SubFolders içindeki Her Alt Klasör için
xRow = Aralık("A1").End(xlDown).Satır + 1
Cells(xRow, 1).Resize(1, 6).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder. DateLastModified, SubFolder.Size)
Sonraki Alt Klasör
Her alt klasör için prntfld.SubFolders'da
getSubFolder alt klasörü
Sonraki alt fld
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
SubFolder.Size işlevini eklediğinizde, komut dosyası artık tüm alt klasörleri listelemez, yalnızca ilk düzeyi listeler.
Boyutu nasıl ekleyebilir ve tüm alt klasörleri listeleyebilirim?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba. Lütfen bulmakta zorlandığım bir kod hakkında bana yardım eder misiniz?

Aşağıda kod için gereksinimler bulunmaktadır.



1. VBA, tüm klasörleri ve alt klasörleri gözden geçirmelidir.
ve her bir dosya türünü kontrol edin. Kullanıcı yalnızca yolunu vermelidir
üst klasör. Kod daha sonra tüm klasörleri ve alt klasörleri kontrol etmelidir.
üst klasör içinde.



2. Dosyaları kontrol ettikten sonra, kod tüm dosyaları sıkıştırmalıdır.
3 aydan fazla bir süredir erişilemeyen Erişilen dönem
Gerekirse gelecekte değiştirebileceğim bir şey. Olması gerekiyor
Gerekirse 1 ay veya 5 ay olarak değiştirmeme izin verin.



3. Dosyaları sıkıştırdıktan sonra kod, dosyaları silmelidir.
sıkıştırılmış orijinal dosyalar.



4. Sıkıştırılmış dosya, sıkıştırılmış dosya ile aynı yola kaydedilmelidir.
Orijinal dosya.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika Araç! Uzun araştırmalardan sonra bu doğru oyuncağı buldum :)
Bu yorum sitedeki moderatör tarafından en aza indirildi
Tam ihtiyacım olan şey ve nasıl çalıştırılacağına dair mükemmel netlikte talimatlar. Çok teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çok teşekkürler!, çok faydalı.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu işe yaradı ve nasıl... Çok teşekkür ederim. Sadece bir ekleme-- Adım 3'te Step Into'ya tıklamam gerekti ve ardından klasörü seçmek için yalnızca F5 tuşu çalıştı.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu faydalı kod için çok teşekkür ederim. aynı çalışma kitabındaki sonucu yenisine kaydetmemek mümkün mü?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Teşekkürler, müşterilerimiz için klasörleri kaydetmek için tam olarak ihtiyacımız olan şey buydu.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika bir çalışma... Çok işime yaradı, çok teşekkürler
Buraya henüz hiç yorum yapılmamış
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır