- Katılım
- 13 Kasım 2009
- Mesajlar
- 337
- Excel Vers. ve Dili
- Ofis 2016 TR 64 Bit
- Altın Üyelik Bitiş Tarihi
- 23-02-2025
Merhaba ,
Bir Klasör içinde bulunan kapalı excel dosyalarından veri sayısı almak için aşağıdaki kodu kullanıyorum. Fakat bütün dosyaları listeliyor. Ben "Kitap" "Kalem"
ve "Silgi" isimli dosyaların listede yer almasını istemiyorum. Teşekkürler.
Private Sub CommandButton1_Click()
Range("A2:b100").ClearContents
Set con = CreateObject("AdoDB.Connection")
Set cat = CreateObject("Adox.Catalog")
Set syf = CreateObject("Adox.Table")
Set fso = CreateObject("Scripting.FileSystemObject")
Yol = "d:"
ActiveSheet.Range("E1").Value = TextBox2.Text
Set Klasor = fso.GetFolder(Yol): sat = 2
For Each Dosyalar In Klasor.Files
con.Open "Provider=Microsoft.ace.OleDb.12.0;Data Source=" & _
Dosyalar & ";Extended Properties=""Excel 12.0;HDR=no"""
cat.ActiveConnection = con
For Each syf In cat.Tables
Set Rs = con.Execute("Select count(F1) FROM [" & syf.Name & "]")
Cells(sat, 1).Value = Replace(Dosyalar.Name, ".xlsx", "")
Cells(sat, 2).Value = Rs(0).Value - 1
sat = sat + 1
con.Close
Next syf
Next Dosyalar
MsgBox "İşlem Tamamlandı...", vbInformation
UserForm1.Hide
End Sub
Bir Klasör içinde bulunan kapalı excel dosyalarından veri sayısı almak için aşağıdaki kodu kullanıyorum. Fakat bütün dosyaları listeliyor. Ben "Kitap" "Kalem"
ve "Silgi" isimli dosyaların listede yer almasını istemiyorum. Teşekkürler.
Private Sub CommandButton1_Click()
Range("A2:b100").ClearContents
Set con = CreateObject("AdoDB.Connection")
Set cat = CreateObject("Adox.Catalog")
Set syf = CreateObject("Adox.Table")
Set fso = CreateObject("Scripting.FileSystemObject")
Yol = "d:"
ActiveSheet.Range("E1").Value = TextBox2.Text
Set Klasor = fso.GetFolder(Yol): sat = 2
For Each Dosyalar In Klasor.Files
con.Open "Provider=Microsoft.ace.OleDb.12.0;Data Source=" & _
Dosyalar & ";Extended Properties=""Excel 12.0;HDR=no"""
cat.ActiveConnection = con
For Each syf In cat.Tables
Set Rs = con.Execute("Select count(F1) FROM [" & syf.Name & "]")
Cells(sat, 1).Value = Replace(Dosyalar.Name, ".xlsx", "")
Cells(sat, 2).Value = Rs(0).Value - 1
sat = sat + 1
con.Close
Next syf
Next Dosyalar
MsgBox "İşlem Tamamlandı...", vbInformation
UserForm1.Hide
End Sub