• DİKKAT

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

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

Katılım
5 Kasım 2007
Mesajlar
4,727
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
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

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

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
 
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.
 
Sayın ziynettin merhaba,

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

Saygılarımla.
 
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?
 
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

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

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.
 
Geri
Üst