• DİKKAT

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

kisi sayısı toplama

Katılım
4 Nisan 2011
Mesajlar
209
Excel Vers. ve Dili
2010 İNGİLİZCE
merhabalar,

ekli tabloda "data" sheetindeki 06.01.2013 tarih karsısındaki kisi sayısı "sheet2" sayfasındaki tarih ile aynısı ise, Kisi sayısını getircek tarih "sheet2" sayfası13.01.2013 olunca "data" sayfasındaki 13.01.2013 ile eslesecek fakat bir önceki tarih olan 06.01.2013 tarihindeki kisi sayısının üzerine toplayarak devam edecek formul yazılabilirmi tsk,
 

Ekli dosyalar

Merhaba,

A1 hücresinde 06.01 var iken tekrar 06.01 seçilirse yine de üzerine toplam yapılacak mı? Ayrıca bu istediğiniz formül ile değil makro ile yapılır.
 
a1 hücresi 06.01 iken data sayfasındaki 06.01 tarihin karsısındaki sayı ne ise o getirecek, A1 hücresi 13.01 olunca bir önceki tarihteki kisi sayısının üzerine 13.01 tarihteki sayıyı üzerine ilave edecek yani,

06.01 = 50
13.01 =90 olacak
 
Benim demek istediğim bu değildi,

A1 06.01 iken, kullanıcı yine yanlışlıkla yada bilerek A1 i 06.01 girerse toplam değeri 50 olarak kalacak mı yoksa 50+50 mi olacak.
 
evet yanlıslık yada bilerekte girse A1 06/01 Girilince hep "C2" Hücresindeki 50 sayısını alacak 06/01 yerine 13/01 girince bu sefer "C2+C3" Olarak toplayacak
 
Ben açıklamanızı tam olarak anlamadım maalesef. Sheet2 nin kod bölümüne kopyalayın. Her durumda üstüne katarak toplar.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim Sd As Worksheet, c As Range
 
    If Intersect(Target, [A1]) Is Nothing Then Exit Sub
 
    Set Sd = Sheets("data")
 
    Set c = Sd.[A:A].Find(Target, LookIn:=xlFormulas, LookAt:=xlWhole)
    If Not c Is Nothing Then
        [C5] = [C5] + Sd.Cells(c.Row, "C")
    End If
 
End Sub
.
 
evet üstad makrodan anlasıldığı gibi her 06/01 yazınca üstüne 50 ilave ediyor istediğm bu değildi.
istediğim sadece filtre gibi birsey olacak formül ile yani tarih 06/01 ise 06/01 tarihin karsındaki kisi sayısı(50) yazacak, Tarih 13/01 yazınca 13/01 karsındaki (40) + 06/01 karsındaki sayi ile toplayarak devam edecek..
 
Sayın mosmod2009,

Siz açıklamaları genel değilde basite indirerek açıklıyorsunuz, düşünçelerinizi bize detaylı aktarmazsanız ne yapmak istediğinizi anlamam zor.

Verdiğim kodlarda tam olarak eksik nedir, tam olarak ilave edilmesi gereken nedir?
 
haklısınız belki anlatmak istediğimi tam anlatamadım, söyleki,
A1 hücresinin tarih yazınca data sayfasındaki tarihi buluk karsısındaki kisi sayısını getirecek, ben bu sayıyı vlookup ve sumıf ile getirebiliyorum fakat, a1 hücresinin tarihi 13/01 olarak değistiği zaman "data" sayfasındaki 13/01 karsındaki kisi sayısı yani "40" sayısını daha önceki yani 06/01 tarihindeki sayının üzerine ilave ederek getirecek, verdiğiniz makroda a1 hücresine örnek 06/01 2 defa yazınca 2 defa topluyor ! tsk
 
Kodları aşağıdaki gibi değiştirin.

Kod:
Dim eski
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim Sd As Worksheet, c As Range
 
    If Intersect(Target, [A1]) Is Nothing Then Exit Sub
    If eski = Target Then Exit Sub
 
    Set Sd = Sheets("data")
 
    Set c = Sd.[A:A].Find(Target, LookIn:=xlFormulas, LookAt:=xlWhole)
    If Not c Is Nothing Then
        [C5] = [C5] + Sd.Cells(c.Row, "C")
    End If
 
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    eski = Target
End Sub
.
 
budur üstad tesekkür ederim,ilgin icin saygılar
 
Geri
Üst