• DİKKAT

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

Sayfalardaki verileri tarihe göre tek sayfada toplama

Katılım
24 Mayıs 2007
Mesajlar
39
Excel Vers. ve Dili
Excell 2013 Tr
Üstadlar;
ekteki örnek dosyada 7 adet sayfa mevcut. firmam için üretim takibi yapmak istiyorum. 180,250,380,400,900,950,1200 isimli sayfalar makinelerde yapılan üretimleri yazdığım sayfalardır. Özet sayfası ise günlük olarak üretime vermem gereken sayfa.
Benim istediğim;
Özet sayfasının P3 hücresinde bulunan tarih ne ise diğer sayfalarda o tarihlerdeki üretimi bulup özet sayfasındaki gerekli yerlere yazması.
Yardımlarınız için şimdiden teşekkür ediyorum.
Not: Fonsiyonlara fazla hakim değilim. (Basit işlemleri yapabiliyorum)
 

Ekli dosyalar

Merhaba,

Dosyla ile açıklamayı uyuşturamadım.

Örnek verecek olursam,

Özet sayfasında tarih 01.01.2011

180 adlı sayfada bu tarihe ait 2 adet veri var fakat özet adlı sayfada 180 ne tek satır ayırmışsınız.

Bu gibi durumlarda ne gibi bir işlem yapılacak ?

.
 
Öncelikler ilginize çok teşekkür ediyorum.Eksiklik için kusura bakmayın tamamiyle benim hatam. Özet sayfasındaki makine tonajlarıda diğer sayfalardan gelecek. onları silmeyi unutmuşum. yani özet sayfasına veri alımı diğer sayfaların B sütunundan başlayarak yapılacak. sayfalarda iki veri varsa özet sayfasında iki veride alt alta görünecek. Mesela 180 adlı sayfada bulunan iki veride özet sayfasında olacak.
Özet geçmek gerekirse;
Özet sayfası dışındaki sayfa isimleri makine kodları. Bu makinelerde aynı günde 1 üründe üretiliyor, 5-6 üründe üretiliyor. Makinelerdeki üretimleri ben bu sayfalara giriyorum. İmalatta çalışan arkadaşlar günlük üretimleri görmek istedikleri için böyle bir özet sayfa hazırladım. bende hangi günü isterlerse o günün tarihini yazınca diğer sayfalardaki veriler gelecek. özet sayfada satır sayısı üretime göre uzayabilir.
 
açıklamalarınız bana biraz kısıtlı geldi.
benim anladığım şu :
siz'in yazdığınız tarihteki verileri Özet sayfasında toplamak mı istiyorsunuz_?
yani örneğin 1/1/11
yazdığınızda o tarihteki verileri Özet sayfasında toplayacak.
 
evet üstadım aynen öyle.Zannediyorum ki örnek yetersiz kaldı. ben bu tablolara 1 haftalık üretimleri girip tekrardan yollarım dosyayı. Ozaman daha kolay anlatabilirim. yardımcı olmaya çalışan üstadlara teşekkür ediyorum.
 
Son düzenleme:
evet üstadım aynen öyle.Zannediyorum ki örnek yetersiz kaldı. ben bu tablolara 1 haftalık üretimleri girip tekrardan yollarım dosyayı. Ozaman daha kolay anlatabilirim. yardımcı olmaya çalışan üstadlara teşekkür ediyorum.

o şekilde düzenleyin gönderin yalnız bunu formül ile değil makro yöntemi ile yapacağım bilginiz olsun.
 
üstadlar sayfalara 4 günlük üretim girdim. özet sayfayıda 01.01.2011 tarihinde olması gereken şekliyle yaptım.
Benim istediğim. özet sayfasındaki tarihe göre buradaki verilerin değişmesi. Umarım bu açıklayıcı olmuştur. Göstermiş olduğunuz ilgi ve alakaya çok teşekkür ediyorum.
 

Ekli dosyalar

üstadlar sayfalara 4 günlük üretim girdim. özet sayfayıda 01.01.2011 tarihinde olması gereken şekliyle yaptım.
Benim istediğim. özet sayfasındaki tarihe göre buradaki verilerin değişmesi. Umarım bu açıklayıcı olmuştur. Göstermiş olduğunuz ilgi ve alakaya çok teşekkür ediyorum.

merhaba
boş bir module kopyalayın ve deneyin
Kod:
Option Explicit
Sub aktar()
Dim ts, kaplan, trabzonspor, bordo
trabzonspor = MsgBox(Sheets(1).Range("P3") & " Tarihli Verileri" & _
" Aktarıyorum", vbYesNo, "Onay")
Application.ScreenUpdating = False
Sheets(1).Range("A3:N1048576").ClearContents
bordo = 3
For kaplan = 2 To Sheets.Count
For ts = 3 To Sheets(kaplan).Cells(1048576, "A").End(xlUp).Row
If Sheets(kaplan).Cells(ts, "A") = Sheets(1).Range("P3") Then
Sheets(1).Cells(bordo, "A") = Sheets(kaplan).Cells(ts, "B")
Sheets(1).Cells(bordo, "B") = Sheets(kaplan).Cells(ts, "C")
Sheets(1).Cells(bordo, "C") = Sheets(kaplan).Cells(ts, "D")
Sheets(1).Cells(bordo, "D") = Sheets(kaplan).Cells(ts, "E")
Sheets(1).Cells(bordo, "E") = Sheets(kaplan).Cells(ts, "F")
Sheets(1).Cells(bordo, "F") = Sheets(kaplan).Cells(ts, "G")
Sheets(1).Cells(bordo, "G") = Sheets(kaplan).Cells(ts, "H")
Sheets(1).Cells(bordo, "H") = Sheets(kaplan).Cells(ts, "I")
Sheets(1).Cells(bordo, "I") = Sheets(kaplan).Cells(ts, "J")
Sheets(1).Cells(bordo, "J") = Sheets(kaplan).Cells(ts, "K")
Sheets(1).Cells(bordo, "K") = Sheets(kaplan).Cells(ts, "L")
Sheets(1).Cells(bordo, "L") = Sheets(kaplan).Cells(ts, "M")
Sheets(1).Cells(bordo, "M") = Sheets(kaplan).Cells(ts, "N")
Sheets(1).Cells(bordo, "N") = Sheets(kaplan).Cells(ts, "O")
bordo = bordo + 1
End If
Next
Next
Application.ScreenUpdating = True
MsgBox Sheets(1).Range("P3") & " Tarihli Verileri Aktardım", vbInformation, "Bitiş"
End Sub
 
üstadım olmadı. yada ben beceremedim.
Dosya içinde;
Özet\kod görüntüle\insert\module girdim. Modül 1 çıktı orayabu kodu kopyaladım.
Çalışma kitabını "macro içerebilen çalışma kitabı" olarak kaydettim ama birşey olmadı.
Yanlış birşeymi yaptım sizce.
 
üstadım çok teşekkür ediyorum. tam istediğim gibi olmuş. ellerinize sağlık.
Belki fazla olacak ama birşey sormak istiyorum. Ben sayfada sağ üst bilgide raporun ait olduğu günü yazıyordum. Hergün manuel olarak. Yazdığımız tarihi sayfa üst bilgisi olarak yazdırma şansımız varmı. Sakın yanlış anlamayın.Sadece merakımdan soruyorum. Tekrardan göstermiş olduğunuz ilgiye teşekkür ederim.
 
üstadım çok teşekkür ediyorum. tam istediğim gibi olmuş. ellerinize sağlık.
Belki fazla olacak ama birşey sormak istiyorum. Ben sayfada sağ üst bilgide raporun ait olduğu günü yazıyordum. Hergün manuel olarak. Yazdığımız tarihi sayfa üst bilgisi olarak yazdırma şansımız varmı. Sakın yanlış anlamayın.Sadece merakımdan soruyorum. Tekrardan göstermiş olduğunuz ilgiye teşekkür ederim.

merhaba
verdiğim kodu bununla değişir misiniz_?
Kod:
Option Explicit
Sub aktar()
Dim ts, kaplan, trabzonspor, bordo
trabzonspor = MsgBox(Sheets(1).Range("P3") & " Tarihli Verileri" & _
" Aktarıyorum", vbYesNo, "Onay")
Application.ScreenUpdating = False
Sheets(1).Range("A3:N1048576").ClearContents
bordo = 3
For kaplan = 2 To Sheets.Count
For ts = 3 To Sheets(kaplan).Cells(1048576, "A").End(xlUp).Row
If Sheets(kaplan).Cells(ts, "A") = Sheets(1).Range("P3") Then
Sheets(1).Cells(bordo, "A") = Sheets(kaplan).Cells(ts, "B")
Sheets(1).Cells(bordo, "B") = Sheets(kaplan).Cells(ts, "C")
Sheets(1).Cells(bordo, "C") = Sheets(kaplan).Cells(ts, "D")
Sheets(1).Cells(bordo, "D") = Sheets(kaplan).Cells(ts, "E")
Sheets(1).Cells(bordo, "E") = Sheets(kaplan).Cells(ts, "F")
Sheets(1).Cells(bordo, "F") = Sheets(kaplan).Cells(ts, "G")
Sheets(1).Cells(bordo, "G") = Sheets(kaplan).Cells(ts, "H")
Sheets(1).Cells(bordo, "H") = Sheets(kaplan).Cells(ts, "I")
Sheets(1).Cells(bordo, "I") = Sheets(kaplan).Cells(ts, "J")
Sheets(1).Cells(bordo, "J") = Sheets(kaplan).Cells(ts, "K")
Sheets(1).Cells(bordo, "K") = Sheets(kaplan).Cells(ts, "L")
Sheets(1).Cells(bordo, "L") = Sheets(kaplan).Cells(ts, "M")
Sheets(1).Cells(bordo, "M") = Sheets(kaplan).Cells(ts, "N")
Sheets(1).Cells(bordo, "N") = Sheets(kaplan).Cells(ts, "O")
bordo = bordo + 1
End If
Next
Next
[COLOR="Red"]Sheets(1).PageSetup.LeftHeader = "&G"
Sheets(1).PageSetup.CenterHeader = "&""-,Kalın""&24GÜNLÜK ÜRETİM RAPORU" _
& Chr(10) & Format(Sheets(1).Range("P3"), "dd.mm.yyyy")
Sheets(1).PageSetup.RightHeader = "&A &F  "
Sheets(1).PageSetup.LeftFooter = "Hazırlayan" & Chr(10) & _
"Abdurrahman GÜLDEMİR" & Chr(10) & ""
Sheets(1).PageSetup.CenterFooter = "Kontrol Eden" & Chr(10) _
& "Mehmet KOZ"
Sheets(1).PageSetup.RightFooter = "Onay" & Chr(10) & "Mehmey KOZ"[/COLOR]
Application.ScreenUpdating = True
MsgBox Sheets(1).Range("P3") & " Tarihli Verileri Aktardım", vbInformation, "Bitiş"
End Sub
kırmızı olan yer eklenmiştir.
 
Üstadım çok teşekkür ediyorum. Daha yeni deneyebildim. Kusura bakmayın; siz hemen cevap yazıyorsunuz ben cevabı geç değerlendiriyorum. Ellerinize, emeğinize sağlık.
 
Üstadım biliyorum çok oldum ama bir sorum daha olacak. Ben 1200 yazan sayfayı özet sayfasına almasın. sadece 180,250,380,400,900,950 sayfaları alsın istiyorum. Kodu araştırdım. Galiba "For kaplan = 2 To Sheets.Count" yazan kısım bütün sayfaları kapsıyor. Bunu ne olarak değiştirmeliyiz ki sadece 180,250,380,400,900,950 yazan sayfaları alsın.
 
Üstadım biliyorum çok oldum ama bir sorum daha olacak. Ben 1200 yazan sayfayı özet sayfasına almasın. sadece 180,250,380,400,900,950 sayfaları alsın istiyorum. Kodu araştırdım. Galiba "For kaplan = 2 To Sheets.Count" yazan kısım bütün sayfaları kapsıyor. Bunu ne olarak değiştirmeliyiz ki sadece 180,250,380,400,900,950 yazan sayfaları alsın.

count-1 olarak deneyin
 
hocam sayenizde bu işi öğrenicem gibi. :) Hocam count-1 sondaki 1 sayfayı görme anlamındamı oluyor. Bu çalıştı. ben count-2 yaptım bu sefer hem 1200 yazan sayfa hemde 950 yazan sayfayı almadı. Çok teşekkür ederim. Peki ben bu dosyaya sayfa ekledim diyelim. Özet ve makina sayfalarıyla alakası yok. ozaman "count-x" yazdığımız yere sayfa sayısı sürekli değişecek. bunu özet sonraki ilk 5 sayfa olarak yazmak nasıl olur.
 
hocam sayenizde bu işi öğrenicem gibi. :) Hocam count-1 sondaki 1 sayfayı görme anlamındamı oluyor. Bu çalıştı. ben count-2 yaptım bu sefer hem 1200 yazan sayfa hemde 950 yazan sayfayı almadı. Çok teşekkür ederim. Peki ben bu dosyaya sayfa ekledim diyelim. Özet ve makina sayfalarıyla alakası yok. ozaman "count-x" yazdığımız yere sayfa sayısı sürekli değişecek. bunu özet sonraki ilk 5 sayfa olarak yazmak nasıl olur.

sorunuzu anlamadım ama count kaçtane sayfa var ise onu sayar döngü olduğu için 2'den itibaren kaçtane sayfa olduğuna bakar -1 yaparsanız son sayfanın olmadığı varsayar.
 
Geri
Üst