İlk Sayfadaki Giderleri, ikinci sayfadaki düzeltmeler ile toplayıp yeni bir sayfaya yazdırma

Katılım
3 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
17-12-2019
Değerli Forum Hocalarım,

Bir konuda desteğiniz rica ediyorum. 3 sayfadan oluşan bir excel dosyam var 1. sayfasında belirli kodlara ve isimlere göre gelen sırası ve satır uzunluğu her ay değişen giderlerim var ikinci sayfada ise aynı kod ve isimlere göre yaptığım düzeltmeler var , ben istiyorum ki 3 sayfaya bu iki sayfadaki verilerin toplamını getirsin ancak sadece tutar sutununu toplasın diğer veriler aynen gelsin anlatması biraz uzun gibi ama inş anlatabilmişimdir. örnek dosya içinde de yine anlatmaya çalıştım.

bu konuda bana yardımcı olabilir misiniz.

Saygılarımla, Forumda emeği geçen tüm arkadaşlarıma teşekkür ediyorum.
 

Ekli dosyalar

Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Dosyanız.
 

Ekli dosyalar

Katılım
3 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
17-12-2019
İlginiz için teşekkür ediyorum Çıtır Hanım, ana sayfadaki diğer veriler gelmiyor. sadece düzeltmelerin olduğu sayfayadaki veriler geliyor. :( ben istiyorum ki ana sayfadaki veriler + düzeltmeler = hepsi 3. sayfaya yazsın
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,582
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()
    lst1 = Sheets("Ana Sayfa").Range("a3:K" & Sheets("Ana Sayfa").Cells(Rows.Count, 1).End(3).Row).Value
    lst2 = Sheets("Düzeltmeler").Range("a3:K" & Sheets("Düzeltmeler").Cells(Rows.Count, 1).End(3).Row).Value
    With CreateObject("Scripting.Dictionary")
        For i = 1 To UBound(lst1)
            ky = Join(Application.Index(lst1, i, [{1,2,3,4,5,6,7,8,9,10}]), "|")
            If Not .exists(ky) Then
                .Item(ky) = i
            Else
                lst1(.Item(ky), 11) = lst1(.Item(ky), 11) + lst1(i, 11)
            End If
        Next i
        For i = 1 To UBound(lst2)
            ky = Join(Application.Index(lst2, i, [{1,2,3,4,5,6,7,8,9,10}]), "|")
            lst1(.Item(ky), 11) = lst1(.Item(ky), 11) + lst2(i, 11)
        Next i
        Sheets("Son Hali").Range("a3:K" & Rows.Count).ClearContents
        ylst = Application.Transpose(Application.Index(lst1, .items, [row(1:11)]))
        Sheets("Son Hali").Range("a3").Resize(UBound(ylst), 11).Value = ylst
    End With
End Sub
 
Son düzenleme:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,582
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub adoBirlestir()
    Set adoCN = CreateObject("ADODB.Connection")
    adoCN.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCN.Properties("Data Source") = ThisWorkbook.FullName
    adoCN.Properties("Extended Properties") = "Excel 8.0; HDR=No;"
    adoCN.Open
    Set rs = CreateObject("Adodb.RecordSet")

    strsql = "SELECT F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, Sum(F11) AS ToplaTutar " & _
             "FROM " & _
             "( " & _
             "  SELECT * FROM [Ana Sayfa$A3:K" & Sheets("Ana Sayfa").Cells(Rows.Count, 1).End(3).Row & "] " & _
             "    UNION " & _
             "  SELECT  * FROM [Düzeltmeler$A3:K" & Sheets("Düzeltmeler").Cells(Rows.Count, 1).End(3).Row & "] " & _
             ") " & _
             "GROUP BY F1, F2, F3, F4, F5, F6, F7, F8, F9, F10"

    rs.Open strsql, adoCN, 1, 1

    Sheets("Son Hali").Range("a3:K" & Rows.Count).ClearContents
    Sheets("Son Hali").Range("a3").CopyFromRecordset rs
    rs.Close
    adoCN.Close
    Set rs = Nothing
    Set adoCN = Nothing
End Sub
 
Katılım
3 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
17-12-2019
Kod:
Sub adoBirlestir()
    Set adoCN = CreateObject("ADODB.Connection")
    adoCN.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCN.Properties("Data Source") = ThisWorkbook.FullName
    adoCN.Properties("Extended Properties") = "Excel 8.0; HDR=No;"
    adoCN.Open
    Set rs = CreateObject("Adodb.RecordSet")

    strsql = "SELECT F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, Sum(F11) AS ToplaTutar " & _
             "FROM " & _
             "( " & _
             "  SELECT * FROM [Ana Sayfa$A3:K" & Sheets("Ana Sayfa").Cells(Rows.Count, 1).End(3).Row & "] " & _
             "    UNION " & _
             "  SELECT  * FROM [Düzeltmeler$A3:K" & Sheets("Düzeltmeler").Cells(Rows.Count, 1).End(3).Row & "] " & _
             ") " & _
             "GROUP BY F1, F2, F3, F4, F5, F6, F7, F8, F9, F10"

    rs.Open strsql, adoCN, 1, 1

    Sheets("Son Hali").Range("a3:K" & Rows.Count).ClearContents
    Sheets("Son Hali").Range("a3").CopyFromRecordset rs
    rs.Close
    adoCN.Close
    Set rs = Nothing
    Set adoCN = Nothing
End Sub
Veysel Bey ilginiz için teşekkür ediyorum :( ama ben bu kod işinden pek anlamıyorum abi ya nasıl yapılır ne edilir pek bilmem bunu formüller ile yapamaz mıyım ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,449
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Formülle çözüm dosyasını inceleyiniz. Pratik olması açısından yardımcı sütun kullanılmıştır.

Yardımcı sütunları gruplandırma uygulayarak gizledim. Açıp inceleyebilirsiniz.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Özel mesaj ile formüllü çözüm konusunda destek rica edilmiş olduğundan ilave açıklamalar da yazarak hazırladığım dosyayı ekleyeyim dedim.

Ekteki belgede yer alan açıklama, formül ve AD TANIMLAMALARINI inceleyiniz.
.
 

Ekli dosyalar

Katılım
3 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
17-12-2019
Formülle çözüm dosyasını inceleyiniz. Pratik olması açısından yardımcı sütun kullanılmıştır.

Yardımcı sütunları gruplandırma uygulayarak gizledim. Açıp inceleyebilirsiniz.

Tam aradığım cevap hocam Allah razı olsun eksik olmayın :)
 
Katılım
3 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
17-12-2019
Formülle çözüm dosyasını inceleyiniz. Pratik olması açısından yardımcı sütun kullanılmıştır.

Yardımcı sütunları gruplandırma uygulayarak gizledim. Açıp inceleyebilirsiniz.
Korhan Bey ilginize ve alakanıza çok teşekkür ediyorum İyi ki varsınız, Hem sizin hemde Ömer beyin verdiği cevaplar işimi fazlasıyla görüyor çok saolun.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,582
Excel Vers. ve Dili
Pro Plus 2021
Korhan Beyin çalışması tam sonuçları vermemiş,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,449
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Veysel Bey,

Uyarınız üzerine eklediğim dosyayı tekrar inceledim. Sıralama numarası üreten maksimum formülünü sabitlemediğim için sorun oluşmuş. Gerekli düzeltme yapılmıştır.
 
Üst