Birden çok sayfadan verileri tek sayfada toplama

Mebugasan

Altın Üye
Katılım
18 Ekim 2017
Mesajlar
5
Excel Vers. ve Dili
EXCEL 2013 TÜRKÇE
Altın Üyelik Bitiş Tarihi
27-12-2024
Üstatlar size benim için ciddi önem taşıyan bir soru soracağım çözümü varsa ne mutlu bana.

Şimdi benim elimde bir vardiya exceli var kendi hazırladığım. Bu vardiya excelinde vardiya içinde oluşan giderler ve gün içinde verilen veresiye yakıtlar var. Hergün farklı bir excel sayfası olduğu için bu gider ve cari verilerini tek sayfada nasıl toplayacağımı bulamadım. Sizin için bir örnek dosya oluşturdum. Oradan bakıp bana yardımcı olabilirseniz mükemmel sevinirim.
 

Ekli dosyalar

Son düzenleme:
Katılım
6 Ekim 2004
Mesajlar
250
Excel Vers. ve Dili
MSOffice 2010 TR
Altın Üyelik Bitiş Tarihi
19-11-2020
merhaba ,

ben dosyanızı goremiyorum ama yazdiginizdan anladigim kadari ile asagida linkini paylastigim eklenti isinizi gorecektir diye dusunuyorum.

eklenti olarak kurun veri sekmesinin altinda ust menuye gelecek .


https://www.rondebruin.nl/win/addins/rdbmerge.htm

iyi calismalar.
 

Mebugasan

Altın Üye
Katılım
18 Ekim 2017
Mesajlar
5
Excel Vers. ve Dili
EXCEL 2013 TÜRKÇE
Altın Üyelik Bitiş Tarihi
27-12-2024

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Dosyayı neden göremiyorsunuz? Formatından dolayı ise düzeltebilirim. Söylediğiniz eklentiyi kurdum lakin pek bir şey anlamadım.
Merhaba,
Altın Üyeliği bulunmayanlar Forum Sayfasına yüklenen dosyaları indiremezler.
Dosyanızdan anladığım kadarıyla; 1, 2, 3 gibi sayılar ayın günlerini yansıtıyor ayın son gününe kadar devam ediyor, bunlardaki giderler ve carilerin toplamlarını giderler ve cariler sayfasına taşımak istiyorsunuz. Doğru mu?
 
Son düzenleme:

Mebugasan

Altın Üye
Katılım
18 Ekim 2017
Mesajlar
5
Excel Vers. ve Dili
EXCEL 2013 TÜRKÇE
Altın Üyelik Bitiş Tarihi
27-12-2024
Merhaba,
Altın Üyeliği bulunmayanlar Forum Sayfasına yüklenen dosyaları indiremezler.
Dosyanızdan anladığım kadarıyla; 1, 2, 3 gibi sayılar ayın günlerini yansıtıyor ayın son gününe kadar devam ediyor, bunlardaki giderler ve carilerin toplamlarını giderler ve cariler sayfasına taşımak istiyorsunuz. Doğru mu?
Evet kısmen doğru. Lakin toplam olarak değilde liste şeklinde tek bir sayfada olmasını istiyorum hepsinin. Ay sonunda rapor çıkartırken sayfalardan tek tek kopyala yapıştır yapmakla uğraşmamış olurum.
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Giderler Sayfasına bir buton ekleyerek, aşağıdaki kodları ekleyiniz:
Kod:
Sub giderleri_guncelle()
Dim sh As Worksheet, ss As Long, alan As Range, syf As Worksheet, ilk As Range, son As Range
Set sh = Sheets("GİDERLER")
sat1 = 4
sh.Range("B4:D" & Rows.Count).ClearContents

For Each syf In ThisWorkbook.Sheets
On Error Resume Next

    If IsNumeric(syf.Name) Then
        Set ilk = syf.Range("K26")
        Set son = syf.Range("M45").End(3)
        If son.Row < ilk.Row Then GoTo devam
        Set alan = syf.Range(ilk, son)
        sat2 = sat1 + alan.Rows.Count - 1
        sh.Range("B" & sat1 & ":D" & sat2).Value = alan.Value
        sat1 = sat2 + 1
    End If
devam:
Next syf
MsgBox "İşlem tamamlandı.", vbInformation, "antonio"
End Sub
Cariler Sayfasına atayacağınız kodlarınızda aşağıdadır:
Kod:
Sub carileri_guncelle()
Dim sh As Worksheet, ss As Long, alan As Range, syf As Worksheet, ilk As Range, son As Range

Set sh = Sheets("CARİLER")
sat1 = 3
sh.Range("C3:E" & Rows.Count).ClearContents

For Each syf In ThisWorkbook.Sheets
On Error Resume Next

    If IsNumeric(syf.Name) Then
        Set ilk = syf.Range("K9")
        Set son = syf.Range("M22").End(3)
        If son.Row < ilk.Row Then GoTo devam
        Set alan = syf.Range(ilk, son)
        sat2 = sat1 + alan.Rows.Count - 1
        sh.Range("C" & sat1 & ":E" & sat2).Value = alan.Value
        sat1 = sat2 + 1
    End If
devam:
Next syf
MsgBox "İşlem tamamlandı.", vbInformation, "antonio"
End Sub
NOT. Kodlar, örnek dosyanıza göre düzenlenmiştir.
 

Mebugasan

Altın Üye
Katılım
18 Ekim 2017
Mesajlar
5
Excel Vers. ve Dili
EXCEL 2013 TÜRKÇE
Altın Üyelik Bitiş Tarihi
27-12-2024
Giderler Sayfasına bir buton ekleyerek, aşağıdaki kodları ekleyiniz:
Kod:
Sub giderleri_guncelle()
Dim sh As Worksheet, ss As Long, alan As Range, syf As Worksheet, ilk As Range, son As Range
Set sh = Sheets("GİDERLER")
sat1 = 4
sh.Range("B4:D" & Rows.Count).ClearContents

For Each syf In ThisWorkbook.Sheets
On Error Resume Next

    If IsNumeric(syf.Name) Then
        Set ilk = syf.Range("K26")
        Set son = syf.Range("M45").End(3)
        If son.Row < ilk.Row Then GoTo devam
        Set alan = syf.Range(ilk, son)
        sat2 = sat1 + alan.Rows.Count - 1
        sh.Range("B" & sat1 & ":D" & sat2).Value = alan.Value
        sat1 = sat2 + 1
    End If
devam:
Next syf
MsgBox "İşlem tamamlandı.", vbInformation, "antonio"
End Sub
Cariler Sayfasına atayacağınız kodlarınızda aşağıdadır:
Kod:
Sub carileri_guncelle()
Dim sh As Worksheet, ss As Long, alan As Range, syf As Worksheet, ilk As Range, son As Range

Set sh = Sheets("CARİLER")
sat1 = 3
sh.Range("C3:E" & Rows.Count).ClearContents

For Each syf In ThisWorkbook.Sheets
On Error Resume Next

    If IsNumeric(syf.Name) Then
        Set ilk = syf.Range("K9")
        Set son = syf.Range("M22").End(3)
        If son.Row < ilk.Row Then GoTo devam
        Set alan = syf.Range(ilk, son)
        sat2 = sat1 + alan.Rows.Count - 1
        sh.Range("C" & sat1 & ":E" & sat2).Value = alan.Value
        sat1 = sat2 + 1
    End If
devam:
Next syf
MsgBox "İşlem tamamlandı.", vbInformation, "antonio"
End Sub
NOT. Kodlar, örnek dosyanıza göre düzenlenmiştir.
Üstat kod olarak değilde formül olarak verebilir misin bunu. macro bilgim pek yok.
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Üstat kod olarak değilde formül olarak verebilir misin bunu. macro bilgim pek yok.
Sadece iki sayfa arasında veri sorgulama olsaydı, sorunsuz olarak formül de kullanılabilirdi.
Ancak ayın gün sayısı kadar sayfadan teker teker veri sorgulama yapmak durumundasınız, sayısal olmayan sayfa isimlerini pas geçeceksiniz, her seferinde sayfada kaç satır veri olduğunu hesaplayacaksınız, bunları alt alta sıralayacaksınız. Bunlar formül ile mümkün değildir.
Kod bilginiz yoksa size örnek dosyanızı gönderiyorum. Asıl dosyanızın formatı aynı ise sorunsuz olarak kullanabilirsiniz. Gün sayısı kadar yeni sayfa açıp bilgileri yazabilir, istediğiniz zaman sorgulama yapabilirsiniz. Tek dikkat etmeniz gereken; günleri gösteren sayfa isimlerinin sayısal olmasıdır.
Dosyanız ektedir.
 

Ekli dosyalar

Son düzenleme:

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Benim çalışmama bir bak istersen. Belki aynı şeyi soruyor olabilirsiniz.

http://www.excel.web.tr/f50/ko-ullu-indis-t167498.html
Merhaba,
Dosyanızı inceledim.
Sıralama yapamazsınız, çünkü verileri formülle alıyorsunuz. Formülle verileri aldığnız yere de yine formülle başka yerden aktarılıyor.
Birden fazla varsa konusunda, mevcut formülün başına, "=EĞER(EĞERSAY(aralık;ölçüt)>=1;"";<MEVCUT FORMÜLÜNÜZ>" şeklinde bir kontrol deneyebilirsiniz. Ancak çok fazla iç içe Eğer oluşabilir. Sınama ile fikir oluşur.
Ayrıca aşırı derecede formül içeren sayfalar belli bir satır uzunluğundan sonra yavaş çalışır, bu yüzden daha sade ve makrolarla çalışan dosyalara yönelmenizi öneririm.
 
Üst