klasör içindeki dosyaların listesi

Katılım
25 Nisan 2006
Mesajlar
177
Excel Vers. ve Dili
OFFİCE XP TÜRKÇE
OFFİCE 2003 TÜRKÇE
OFFİCE 2010 TÜRKÇE
OFFİCE 2013 TÜRKÇE
sevgili forum üyeleri. Bayaramınız mübarek olsun;

herhangi bir klasör (örn: Belgelerim.) içindeki dosyaların listesini bir form üzerindeki listbox veya combobox vasıtası ile nasıl yapabilirim.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhabalar.
Aşağıdaki Kodlar "C:\Evren" klasörü içerisinde bulunan *.xls uzantılı dosyaları
listbox'ta listeliyor.Siz dosya yolunu ve arnacak dosya adını veya uzantılarını değştirerek bir deneyiniz.
Kod:
Private Sub UserForm_Initialize()
dosya = Dir("C:\Evren\*.xls")
Do While dosya <> ""
    ListBox1.AddItem dosya
    dosya = Dir
Loop
End Sub
 
Katılım
25 Nisan 2006
Mesajlar
177
Excel Vers. ve Dili
OFFİCE XP TÜRKÇE
OFFİCE 2003 TÜRKÇE
OFFİCE 2010 TÜRKÇE
OFFİCE 2013 TÜRKÇE
sn sezar.
kodlar tam istediğim gibi.

bir de listbox içindeki dosya adı üzerine tıkladığımda o dosyayı açıp aktıf hale getirmemi sağlayacak kodu nasıl yazmalıyım.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhabalar.
Aşağıdaki yol'da C:\Evren kalsörü gösteriliyor.Listbox'ta listelediğiniz Klasörün Yolunu yazınız.
Tek tıklamayla açmak için
Kod:
Private Sub ListBox1_Click()
Workbooks.Open ("C:\Evren\" & ListBox1.Value)
End Sub
Çift yıklama ile açmak için
Kod:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Workbooks.Open ("C:\Evren\" & ListBox1.Value)
End Sub
 
Katılım
25 Nisan 2006
Mesajlar
177
Excel Vers. ve Dili
OFFİCE XP TÜRKÇE
OFFİCE 2003 TÜRKÇE
OFFİCE 2010 TÜRKÇE
OFFİCE 2013 TÜRKÇE
sn.sezar;

faydalı katkılarınızdan dolayı çok teşekkür ederim.
tam istediğim gibi oldu
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Soruya Cozum uretilmiş ama bende kucuk bir çözüm ilave etmek istiyorum.

Form üzerinde texbox'a adresi aşagıdaki sekilde giriniz.

Örnek: c: veya c:\Windows

Kısacası son klasor'e "\" işareti koymadan calıstırınız.
 
Katılım
25 Nisan 2006
Mesajlar
177
Excel Vers. ve Dili
OFFİCE XP TÜRKÇE
OFFİCE 2003 TÜRKÇE
OFFİCE 2010 TÜRKÇE
OFFİCE 2013 TÜRKÇE
güzel bir alternatif.


bu aşamada yapmak istediğim bir husus ta; herhangi bir klasör içindeki
dosyaların tamamındın belirli hücrelerinden (örn: C1 ve G6) verileri listelemek. ?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyaların bulunduğu klasör yolunu belirtirmisiniz. Ayrıca alınan veriler altaltamı kaydedilecektir. Kaydedilecek sütunlar hangileridir.
 
Katılım
25 Nisan 2006
Mesajlar
177
Excel Vers. ve Dili
OFFİCE XP TÜRKÇE
OFFİCE 2003 TÜRKÇE
OFFİCE 2010 TÜRKÇE
OFFİCE 2013 TÜRKÇE
sn leventm;

haklısınız...

Yol: C:\MÜŞTERİ\(dosyalar)
***çalıştığım dosyada GİRİŞ ve RAPOR sayfaları mevcut.

Bilgiler ise;
RAPOR sayfasında B2 Hücresine veri alınacak Dosyadaki C1 değeri
C2 " " " " G6 " gelmeli


Her dosya bir alt satıra ilave olmalı ve klasörden dosya silindiğinde Listede görünmemeli... sizce olabilir mi.? Yardımlarınıza ihtiyacım var...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birde veri alınacak dosyaların hep aynı sayfalarındanmı alınacak ayrıca bu sayfanın adı nedir.

RAPOR sayfasında B2 Hücresine veri alınacak Dosyadaki C1 değeri
C2 " " " " G6 " gelmeli
Bu ifadenizi anlayamadım.

Her dosya bir alt satıra ilave olmalı ve klasörden dosya silindiğinde Listede görünmemeli... sizce olabilir mi.?
Elbette olabilir, önereceğim kodu her çalıştırdığınızda verileri otomatikman güncelleyecektir.
 
Katılım
25 Nisan 2006
Mesajlar
177
Excel Vers. ve Dili
OFFİCE XP TÜRKÇE
OFFİCE 2003 TÜRKÇE
OFFİCE 2010 TÜRKÇE
OFFİCE 2013 TÜRKÇE
Bunu şu şekilde anlatmalıyım...

Çalıştığım :
Dosya : "GİRİŞ"
Sayfaları : "GİRİŞ" ve "RAPOR"

Veri Alınacak :
Klasör : "MÜŞTERİ"
Dosyalar : "Ahmet", "Mehmet", "Veli" v.b.
Sayfalar : "GİRİŞ" (Hepsinde aynı ve Tek sayfa)
C1 : Müşteri Adı
G6 : Borç Bakiyesi

.........Bütün dosyaların yapısı aynı.........

Dosyalardaki "GİRİŞ" Sayfasından Sadece "C1" ve "G6" hücrelerinden bilgi almak istiyorum.
(Aslına bakarsanız yapmak istesiğim Bir Bakiye listesi çıkarmak.)
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Bunu şu şekilde anlatmalıyım...

Çalıştığım :
Dosya : "GİRİŞ"
Sayfaları : "GİRİŞ" ve "RAPOR"

Veri Alınacak :
Klasör : "MÜŞTERİ"
Dosyalar : "Ahmet", "Mehmet", "Veli" v.b.
Sayfalar : "GİRİŞ" (Hepsinde aynı ve Tek sayfa)
C1 : Müşteri Adı
G6 : Borç Bakiyesi

.........Bütün dosyaların yapısı aynı.........

Dosyalardaki "GİRİŞ" Sayfasından Sadece "C1" ve "G6" hücrelerinden bilgi almak istiyorum.
(Aslına bakarsanız yapmak istesiğim Bir Bakiye listesi çıkarmak.)
Yukarıda belirtiğiniz doğrultuda musteriler ait excel sayfaları tek sheet'ten oluştugunu varsayarak kucuk bir çalışma hazırladım.
Daha Profosyonelce hazırlanabilir diye dusunuyorum.

Dosyayı ınceleyınız.Umarım işinizi görür.

Ctrl+r yaparak kodu calısıtırınız.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki koduda deneyebilirsiniz.

Kod:
Sub verial()
[a:c].ClearContents
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\MÜŞTERİ").Files
c = c + 1
Cells(c, "a") = Replace(Dosya.Name, ".xls", "")
Cells(c, "b") = ExecuteExcel4Macro("'C:\MÜŞTERİ\[" & Dosya.Name & "]GİRİŞ'!R1C3")
Cells(c, "c") = ExecuteExcel4Macro("'C:\MÜŞTERİ\[" & Dosya.Name & "]GİRİŞ'!R6C7")
Next
End Sub
 
Katılım
25 Nisan 2006
Mesajlar
177
Excel Vers. ve Dili
OFFİCE XP TÜRKÇE
OFFİCE 2003 TÜRKÇE
OFFİCE 2010 TÜRKÇE
OFFİCE 2013 TÜRKÇE
sn Kemaldemir;
Bilan&#231;o &#231;al&#305;&#351;man&#305;z &#231;ok g&#252;zel &#231;ok faydaland&#305;m. yanl&#305;z kodlar d&#246;ng&#252;de fazla kal&#305;yorlar. Her&#351;ey i&#231;in te&#351;ekk&#252;r ediyorum. tak&#305;ld&#305;&#287;&#305;m&#305;zda sizin gibi k&#305;ymetli dostlar&#305;n hemen &#351;urada oldu&#287;unu bilmek huzur veriyor.

sn Leventm' in kodlar&#305;n&#305;z &#231;ok k&#305;sa ve &#231;ok i&#351;levli. a&#231;&#305;k&#231;as&#305; &#351;a&#351;&#305;rt&#305;c&#305;.
kendinizi bu kadar nas&#305;l geli&#351;tirdiniz &#351;a&#351;&#305;rmamak elde de&#287;il. Ne diyebilirim ki HAR&#304;KA...
 
Üst