• DİKKAT

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

Makro ile Subtotal Yapma Yardım!!

Katılım
11 Eylül 2009
Mesajlar
44
Excel Vers. ve Dili
2007
Arkadaşlar merhaba

Ek'de yer alan excel dosyasını çek tarihlerini göre 1'er haftalık subtotal aldırabılmem için nasıl bir makro yazmam gerekıyor.

Yardımlarınız için teşekkürler...
 

Ekli dosyalar

hamitcan çok fazla işime yaramadı yada ben anlamadım...

sistemden verıyı bu sekılde aldıktan sonra sadece makroyu calıstırıp bana çeklerin tarıhlerıne gore 1 haftalık subtotal almasını ıstıyorum
 
Özet tablo ile yaptım. Bir de bu şekilde deneyin.
 

Ekli dosyalar

=SUMPRODUCT((E5:E174>TODAY()-7)*(G5:G174))

Fonksiyonlarla bu sekilde cikartabilirsin..
 
yardımlarınız için teşekkür ederim ancak yine istedigim sonuca ulaşamadım..

yapmak istedigim çek tarihinde 14/11/2009 dan 21/11/2009 tarihine kadar tutar toplam,22/11/2009 dan 7 gün sonrasına tutar toplamımakro ile yazmak istiyorum...
 
Ben yine özet tabloda ısrarcıyım.
Bu da özet tablo + makro.
Kod:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
    For Each Pi In ActiveSheet.PivotTables("Özet Tablo 1").PivotFields("Çek Tarihi").PivotItems
         Pi.Visible = True
    Next Pi
For Each Pi In ActiveSheet.PivotTables("Özet Tablo 1").PivotFields("Çek Tarihi").PivotItems
    If Format(CDate([e2].Value), "00000") <= Format(CDate(Pi), "00000") And _
       Format(CDate([f2].Value), "00000") >= Format(CDate(Pi), "00000") Then
       Pi.Visible = True
    Else
        Pi.Visible = False
    End If
Next
Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

hamit bey tekrar merhaba

yapmış oldugunuz pivot table da 15 vadeli çekleri ayrı 16 vadeli çekleri ayrı toplıyor.Ben ise başlangıç tarihi neyse (raporda 17/11/2009) üzerine 7 günlük süreyi ekleyip (24/11/2009 tarihine kadar) toplam aldırmak istiyorum..
bunu makroda ıstememeın sebebı bu raporu sureklı yapmak zorundayım..
 
Bu da farklı bir yöntem;
Kod:
Sub IkiTariharasiCekToplami()
    Dim cvp As Date
    Dim d1 As Long
    Dim d2 As Long
    Dim sonuc As Long
    cvp = InputBox("Başlangıç Tarihini Girin", , Date)
    Columns("E").NumberFormat = "0"
    d1 = Format(cvp, "00000")
    d2 = Format(cvp + 6, "00000")
    sonuc = Evaluate("=SumProduct((Sheet4!e5:e5000>=" & d1 & ")*(Sheet4!e5:e5000<=" & d2 & ")*(Sheet4!g5:g5000))")
    
    MsgBox cvp & "-" & cvp + 6 & " arası " & Chr(10) & Chr(10) & "Çek Toplamı=" & Format(sonuc, "0,000.00")
    Columns("E").NumberFormat = "m/d/yyyy"
End Sub
 
3 örneğin bulunduğu dosya

Bu da formül çözümü;

Kod:
=TOPLA(EĞER($E$5:$E$174>=L5;EĞER($E$5:$E$174<=M5;$G$5:$G$174;0);0))

Not: Dizi haline dönüştürmek için Ctrl+Shift+Enter tuşlarına basmalısınız.
 

Ekli dosyalar

hamit bey çok teşekkür ederim tam istediğim sonucu aldım son yaptıgınız makro ile
saygılar
 
Geri
Üst