• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Farklı Çalışma Kitaplarından veri almak

Hakan ERDOST

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
885
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
Herkese günaydın Sabah sabah bu işi kucağımda buldum.Arkadaşlar ekteki çalışma kitabında iki çalışma sayfası var ve bu tüm okullara gönderildi.Ders başarı düzeyleri için herkes İÖO sayfasından verileri girip gönderecek ve bunlar İLÇEİÖO sayfasında icmallenecek .Şimdi istediğim şu her okuldan gelecek çalışma kitabını 1,2,3....81 olarak adlandırıp atıyorum TKY klasörü altında toplasak daha sonra ben olşturlulacak bir ana çalışma kitabından makro ile bu çalışma kitaplarından İLÇEİÖIO sayfasına bu verileri listeleyebilirmiyim.Biraz uzun oldu ama neyse ... Yardımcı olacak arkadaşlara şimiden teşekkürler.
 
Arkadaşlar bir çözüm önerisi olan yok mu?
 
Aşağıdaki kodu deneyin. Kodun doğru çalışması için şartlar aşağıdaki gibi olmalıdır.

1-Dosyalar c:\TKY isimli klasörde toplanacak.
2-Tüm dosyalarda veri alınacak sayfa adı "İÖO" olmalıdır.
3-Tüm dosyalardaki verilerin bulunduğu satır ve sütunlar eklediğiniz dosyadaki "İÖO" sayfasındaki şekilde olmalıdır.

Kod:
Sub verial()
Set s1 = Sheets("İLÇEİÖO")
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\TKY").Files
c = c + 1
For a = 2 To 32
s1.Cells(c + 5, a) = ExecuteExcel4Macro("'C:\TKY\[" & Dosya.Name & "]İÖO'!R6C" & a)
Next: Next
End Sub
 
Sayın leventm her zamanki gibi harikasınız işimi gördü ve benim için çok değerli bir kod oldu.Arşivime ekledim. Tekrar teşekkürlerr iyiki varsınız.
 
Aşağıdaki kodu deneyin. Kodun doğru çalışması için şartlar aşağıdaki gibi olmalıdır.

1-Dosyalar c:\TKY isimli klasörde toplanacak.
2-Tüm dosyalarda veri alınacak sayfa adı "İÖO" olmalıdır.
3-Tüm dosyalardaki verilerin bulunduğu satır ve sütunlar eklediğiniz dosyadaki "İÖO" sayfasındaki şekilde olmalıdır.

Kod:
Sub verial()
Set s1 = Sheets("İLÇEİÖO")
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\TKY").Files
c = c + 1
For a = 2 To 32
s1.Cells(c + 5, a) = ExecuteExcel4Macro("'C:\TKY\[" & Dosya.Name & "]İÖO'!R6C" & a)
Next: Next
End Sub

Sayın leventm bir sorunum yine var kodu düzenleyerek ikinci bir veri al kodu olşturdum ancak burada verileri bir sağdan aldı kaynak OÖ kurumları sayfası ile listelenecek veri sayfası farklı biçimlendirilmiş.Kaynak sayfada veriler 2 ile 73 arasında iken (sütun) veri alma sayfasında 1 iel 72 arasında listelenecek yapamadım yardımzı olursanız çok iyi olur.
 
Aşağıdaki gibi deneyin.

Kod:
[LEFT]Sub verial()
Set s1 = Sheets("İLÇEİÖO")
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\TKY").Files
c = c + 1
For a = 2 To [B][COLOR=blue]72[/COLOR][/B]
s1.Cells(c + 5, a) = ExecuteExcel4Macro("'C:\TKY\[" & Dosya.Name & "]İÖO'!R6C" & [COLOR=blue][B]a-1[/B][/COLOR])
Next: Next
End Sub[/LEFT]
 
Aşağıdaki gibi deneyin.

Kod:
[LEFT]Sub verial()
Set s1 = Sheets("İLÇEİÖO")
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\TKY").Files
c = c + 1
For a = 2 To [B][COLOR=blue]72[/COLOR][/B]
s1.Cells(c + 5, a) = ExecuteExcel4Macro("'C:\TKY\[" & Dosya.Name & "]İÖO'!R6C" & [COLOR=blue][B]a-1[/B][/COLOR])
Next: Next
End Sub[/LEFT]
Sayın leventm öncelikle ilginize ve takibinze çok teşekkür ediyorum.Ben onu denedim olmadı.Sanırım anlatamadım şöyle anlatayım şimdi verileri aldığım sayfa İLÇEİÖO verilerin olduğu sayfa İÖO gönderdiğim örnekte veriler İÖO sayfasından İLÇEİÖO sayfasına aktarılması idi ilk kod bunu yapıyor.Ancak gönderdiğim dosyya büyümesin diye birkaç çalışmasayfasını silmiştim.Bunlardan biridde OÖ sayfası burad kaynak verisi yani a değişkeni 2 ile 72 arası ancak listelenecek sayfada yazılacak bölüm 1 ile 72 arası diğer kodda (yani ilk kodda )1 hücreye 0 değeri yazıyor.Sorunıu inşallah anlatabildim.Yani iki butona ayrı ayrı atatdım bu kodu...
 
Veri alınacak sayfada aralık 2-72 iken aktarılacak sayfada 1-72 nasıl oluyor hala anlayamadım. Tekrar dosya üzerinde izah edin.
 
Sayın leventm çalışma kitabı ekte İÖO sayfasından veriyi İLÇEİÖO sayfasındaki butondan alıyoruum.Aynı şeyi İLÇOÖ sayfasındaki butonla bu kez OÖ sayfasından almak istiyorum.Dosya ektedir.
 
Aşağıdaki kodu deneyin.

Kod:
Sub verial2()
Set s1 = Sheets("İLÇEOÖ")
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\TKY2").Files
c = c + 1
For a = 2 To 74
s1.Cells(c + 5, a - 1) = ExecuteExcel4Macro("'C:\TKY2\[" & Dosya.Name & "]OÖ'!R6C" & a)
Next: Next
End Sub
 
Teşekkürler Olay bitmiştir.Teşekkürler excel.web.tr ailesi
 
Sayın leventm konuyu buradan devam ettirmek sanırım daha doğru olacak
Sub verial()
Set s1 = Sheets("İLÇEİÖO")
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\TKY").Files
c = c + 1
For a = 2 To 32
s1.Cells(c + 5, a) = ExecuteExcel4Macro("'C:\TKY\[" & Dosya.Name & "]İÖO'!R6C" & a)
Next: Next
End Sub

Bu kod ile TKY klasöründeki R6C mutlak başvurusu (sanırım) istediğim gibi listeleniyor. Bu tek bir satır.Ancak başka bir çalışma için ben a5 k48 veri aralığındaki dolu satırları tüm çalışma kitaplarından naıl listeleyebilirim .Yani mantık yine aynı ancak bu kez tek bir stır değil verdiğim aralıktaki dolu satırları klasöürn altındaki çalışma kitaplarından çekip listeleyecek bir kod. Diğer başlığı silsek sanırım olur.Sizin takdiriniz. Kuralları çiğnediysem özür dilerim.
 
saygılar hocam
üstadım elimde 50 ade excel çalışma sayfası ver bunların içerisindeki veriler örneğin ft no:cari no vs
bunların sütün sıraları farklı bende bulunan bir şablona örneğin ilk satırda ft yazanları bendeki şablonda bulunan ft stununa cari no yazanları bende bulunan cari sütünuna liste yapmak istiyorum şimdiden kıymetli emeğinize muhtaç olduğumu bilmenizi rica eder şimdiden teşekkür ederim
 
Geri
Üst