Ödeme Tablosu, Yıla ve Aya Göre

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

"M_ÖDEMELERİ_KAYIT" sayfasında ;

"O1" den YIL,

"O3" den AY seçildiğinde ;

Seçili yıla ve aya ait, sadece ödemesi gelenlerin isimlerinin ve tutarların ;

"ÖDEME_TABLOSU" sayfasından alınarak, "M_ÖDEMELERİ_KAYIT" sayfasında, Q4:R50 aralığına gelmesini arzu ediyorum.

Teşekkür ederim.
 

Ekli dosyalar

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,970
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,

"M_ÖDEMELERİ_KAYIT" sayfasında ;

"O1" den YIL,

"O3" den AY seçildiğinde ;

Seçili yıla ve aya ait, sadece ödemesi gelenlerin isimlerinin ve tutarların ;

"ÖDEME_TABLOSU" sayfasından alınarak, "M_ÖDEMELERİ_KAYIT" sayfasında, Q4:R50 aralığına gelmesini arzu ediyorum.

Teşekkür ederim.

Ekli dosyayı inceler misiniz;

Bu mudur istediğiniz?
 

Ekli dosyalar

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,104
Excel Vers. ve Dili
office2010
Alternatif;

Kod:
Sub test()
Dim s1 As Worksheet, s2 As Worksheet
Dim a(), b(), dc As Object
Set s1 = Sheets("ÖDEME_TABLOSU")
Set s2 = Sheets("M_ÖDEMELERİ_KAYIT")
a = s1.Range("A1:R" & s1.Cells(Rows.Count, 1).End(3).Row).Value
Set d = CreateObject("scripting.dictionary")
    For y = 1 To UBound(a, 2)
        d(a(1, y) & "|" & a(2, y)) = y
    Next y
yil = s2.[O1]
ay = s2.[O3]
sut = d(yil & "|" & ay)
ReDim b(1 To UBound(a), 1 To 2)
    For i = 3 To UBound(a)
        If Not IsEmpty(a(i, sut)) Then
            say = say + 1
            b(say, 1) = a(i, 2)
            b(say, 2) = a(i, sut)
            topla = topla + a(i, sut)
        End If
    Next i
s2.Range("Q4:R" & Rows.Count) = ""
s2.Range("Q4:R" & Rows.Count).Borders.LineStyle = xlNone
    If say > 0 Then
        s2.[R2] = topla
        s2.[Q4].Resize(say, 2) = b
        s2.[Q4].Resize(say, 2).Borders.LineStyle = 1
        MsgBox "İşlem bitti.", vbInformation
    Else
        MsgBox "Yazdırılacak işlem bulunamdı.", vbCritical
    End If
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın tamer42 merhaba,

Öncelikle duyarlığınız için teşekkür ederim.

"M_ÖDEMELERİ_KAYIT" sayfasında, Q4:R50 aralığı sabit değil, dolayısı ile önerilen çözüm ile sonuç alamıyorum,

Tekrar teşekkür ederim.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın ziynettin merhaba,

Kod mükemmel çalışıyor, duyarlığınız ve çözüm için teşekkür ederim.

Saygılarımla.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,970
Excel Vers. ve Dili
Office 2013 İngilizce
UBound(a), 1 To 2) For i = 3 To UBound(a)
Sayın tamer42 merhaba,

Öncelikle duyarlığınız için teşekkür ederim.

"M_ÖDEMELERİ_KAYIT" sayfasında, Q4:R50 aralığı sabit değil, dolayısı ile önerilen çözüm ile sonuç alamıyorum,

Tekrar teşekkür ederim.
Q4:R50 aralığının sabit olması önemli değil;

Kod:
 =VLOOKUP(Q4;ÖDEME_TABLOSU!$B$3:$S$32;$P$3-1;0)
formülü aşağıya doğru çektiğinizde istediğiniz gibi çoğaltabilirsiniz, Sonuç alamadım demenizi anlayamadım, sıkıntı nerede?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın tamer42 tekrar merhaba,

Ekli dosyamdaki Q4:R9 aralığındaki isimler ve tutarları, tablo alındığında olması gereken isimler ve tutarlardır.

Dolayısı ile bu aralık boştur, makro yada formül ile Q4:R50 aralığına,

İlgili sayfada, seçili yıla ve aya ait, sadece ödemesi gelenlerin isimlerinin ve tutarlarının gelmesini arzulamıştım.

Çözüm dosyanızda, Q4:Q6 aralığında diğer sayfadan ödemesi gelenlerin isimlerini getiren formül bulunmadığından, R4:R50 arasına gelen sayılarda "#YOK" hatası vermektedir.

Dosya ektedir.
 

Ekli dosyalar

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,970
Excel Vers. ve Dili
Office 2013 İngilizce
Sayın tamer42 tekrar merhaba,

Ekli dosyamdaki Q4:R9 aralığındaki isimler ve tutarları, tablo alındığında olması gereken isimler ve tutarlardır.

Dolayısı ile bu aralık boştur, makro yada formül ile Q4:R50 aralığına,

İlgili sayfada, seçili yıla ve aya ait, sadece ödemesi gelenlerin isimlerinin ve tutarlarının gelmesini arzulamıştım.

Çözüm dosyanızda, Q4:Q6 aralığında diğer sayfadan ödemesi gelenlerin isimlerini getiren formül bulunmadığından, R4:R50 arasına gelen sayılarda "#YOK" hatası vermektedir.

Dosya ektedir.

Ekli dosyayı inceler misin,

Anladığım kadarıyla yapmaya çalıştırm.
 

Ekli dosyalar

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın tamer42 tekrar merhaba,

Nezaketiniz ve çözüm için teşekkür ederim, bu dosya ile, formüllü çözümü de öğrenmiş oldum.

Saygılarımla.
 
Üst