Makro İle Sütündaki bilgileri saydırma .

Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Merhaba ;

Bir tablom var ve butabloda A sütununda müşteri numaraları var,H sütununda
ise satıra yazılan verinin kayıt tarihi var.I sütunundada kaydeden kullanıcı ismi var.

---a----------h--------------I---------
ch-0001---20.04.2009-----c:\fm1\k2
ch-0002---22.04.2009-----c:\fm1\k1
ch-0001---29.04.2009-----c:\fm1\k2
ch-0003---01.05.2009-----c:\fm1\k3
ch-0004---08.05.2009-----c:\fm1\k2
ch-0005---08.05.2009-----c:\fm1\k4


Burdaki sorum şu ;

1- I sütunundaki kişilerin bugüne ait kaç kayıt var.
2- I sütunundaki kişilerin bu aya ait kaç kayıt var.
3- I sütunundaki kişilerin toplam kaç kayıt var.

Bu dediklerimi formülle yaptım ama bunu userform üzerinde textboxlara eklemek
istiyorum.

Yani her kullanıcı için üç tane textbox olacak,sonuçlar bu textboxlara yazacak.

Saygılar
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,735
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
Sub I_Sutununda_Kisilerin_Bugune_Ait_Kac_Kaydi_var()
Tarih_Degeri = Format(Date, "00000")
For i = 2 To 7
    bul = Evaluate("=SumProduct((i1:i7 = " & Cells(i, 9).Address & ") * (h1:h7=" & Tarih_Degeri & " ))")
    Cells(i, "j") = bul
Next
End Sub
Kod:
Sub I_Sutununda_Kisilerin_Bu_Aya_Ait_Kac_Kaydi_var()
BuAy_Basi = Format(DateSerial(Year(Date), Month(Date), 1), "00000")
BuAy_Sonu = Format(DateSerial(Year(Date), Month(Date) + 1, 0), "00000")
For i = 2 To 7
    bul = Evaluate("=SumProduct((i1:i7 = " & Cells(i, 9).Address & ") * (h1:h7>=" & BuAy_Basi & " ) * (h1:h7<=" & BuAy_Sonu & "))")
    Cells(i, "k") = bul
Next
End Sub
Kod:
Sub I_Sutununda_Kisilerin_Kac_Kaydi_var()
For i = 2 To 7
    bul = WorksheetFunction.CountIf([I:I], Cells(i, "i"))
    Cells(i, "l") = bul
Next
End Sub
Not: Tablonuzu ikinci satırdan başlatın.
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Kısmen oldu..

Kod:
Sub I_Sutununda_Kisilerin_Bugune_Ait_Kac_Kaydi_var()
Tarih_Degeri = Format(Date, "00000")
For i = 2 To 7
    bul = Evaluate("=SumProduct((i1:i7 = " & Cells(i, 9).Address & ") * (h1:h7=" & Tarih_Degeri & " ))")
    Cells(i, "j") = bul
Next
End Sub
Kod:
Sub I_Sutununda_Kisilerin_Bu_Aya_Ait_Kac_Kaydi_var()
BuAy_Basi = Format(DateSerial(Year(Date), Month(Date), 1), "00000")
BuAy_Sonu = Format(DateSerial(Year(Date), Month(Date) + 1, 0), "00000")
For i = 2 To 7
    bul = Evaluate("=SumProduct((i1:i7 = " & Cells(i, 9).Address & ") * (h1:h7>=" & BuAy_Basi & " ) * (h1:h7<=" & BuAy_Sonu & "))")
    Cells(i, "k") = bul
Next
End Sub
Kod:
Sub I_Sutununda_Kisilerin_Kac_Kaydi_var()
For i = 2 To 7
    bul = WorksheetFunction.CountIf([I:I], Cells(i, "i"))
    Cells(i, "l") = bul
Next
End Sub
Not: Tablonuzu ikinci satırdan başlatın.
Sadece son kod değer verdi,diğerleri sıfır değer veriyor.
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Ayrıca ;

Ayrıca,hesaplanan değerleri,Sayfa1'deki hücrelere yazdırmak istiyorum.

Yani veriler sayfa8'de sonuçları sayfa1'de görmek istiyorum.

Saygılar
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
Teşekkürler

Teşekkür ederim.

yalnız aynı sayfada tamam ama sonuçları farkıl sayfaya nasıl yazdırırım.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,735
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
Sub I_Sutununda_Kisilerin_Bugune_Ait_Kac_Kaydi_var()
Tarih_Degeri = Format(Date, "00000")
For i = 2 To 9
    bul = Evaluate("=SumProduct((SAYFA3!i1:i7 = " & Sayfa1.Cells(i, 5).Address & ") * (SAYFA3!h1:h7=" & Tarih_Degeri & " ))")
    Sayfa1.Cells(i, "F") = bul
Next
End Sub
Sub I_Sutununda_Kisilerin_Bu_Aya_Ait_Kac_Kaydi_var()
BuAy_Basi = Format(DateSerial(Year(Date), Month(Date), 1), "00000")
BuAy_Sonu = Format(DateSerial(Year(Date), Month(Date) + 1, 0), "00000")
For i = 2 To 9
    bul = Evaluate("=SumProduct((SAYFA3!i1:i7 = " & Sayfa1.Cells(i, 5).Address & ") * (SAYFA3!h1:h7>=" & BuAy_Basi & " ) * (SAYFA3!h1:h7<=" & BuAy_Sonu & "))")
    Sayfa1.Cells(i, "G") = bul
Next
End Sub
Sub I_Sutununda_Kisilerin_Kac_Kaydi_var()
For i = 2 To 9
    bul = WorksheetFunction.CountIf(Sayfa3.[I:I], Sayfa3.Cells(i, "i"))
    Sayfa1.Cells(i, "H") = bul
Next
End Sub
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
bir sorun var,

Merhaba ;

Toplamı hesaplıyor ama gün ve aylık toplamı sıfır veriyor.
Acaba tarih formatıyla ilgili bir özel ayarmı gerekiyor.

Saygılar
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,735
Excel Vers. ve Dili
Excel 2019 Türkçe
1-İsimler aynı değil.
2-Bugüne ait tarih yok.
 
Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
1-İsimler aynı değil.
2-Bugüne ait tarih yok.
İsimleri halletim ama sorun devam ediyor.

1-Genel toplamları doğru saymıyor.Örnek dosya gönderdim.
2-Sayfanın tamamında hesaplama yapması gerekiyor.Veriler 30000 satırdan
oluşuyor.

Ben biraz denedim ama olmadı.

Saygılar
 

Ekli dosyalar

Katılım
13 Şubat 2009
Mesajlar
289
Excel Vers. ve Dili
office 2003
tekrar

Alıntı:
hamitcan tarafından gönderildi
1-İsimler aynı değil.
2-Bugüne ait tarih yok.

İsimleri halletim ama sorun devam ediyor.

1-Genel toplamları doğru saymıyor.Örnek dosya gönderdim.
2-Sayfanın tamamında hesaplama yapması gerekiyor.Veriler 30000 satırdan
oluşuyor.

Ben biraz denedim ama olmadı.

Saygılar
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,735
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu kadar fazla veriniz olduğunu baştan belirtseydiniz, size önerim Özet Tablo olurdu. Kod doğru çalışmayabilir çünkü belirtilen aralıkların sınırları küçük. Bu yüzden bu sınırları genişletmeniz gerekiyor.
Örneğin aşağıdaki önceki ile değiştirip deneyebilirsiniz. Tabii ki diğer kodları da değiştirmeniz gerekiyor.
Kod:
Sub I_Sutununda_Kisilerin_Bu_Aya_Ait_Kac_Kaydi_var()
BuAy_Basi = Format(DateSerial(Year(Date), Month(Date), 1), "00000")
BuAy_Sonu = Format(DateSerial(Year(Date), Month(Date) + 1, 0), "00000")
For i = 2 To 30000
    bul = Evaluate("=SumProduct((i1:i30000 = " & Cells(i, 9).Address & ") * (h1:h30000>=" & BuAy_Basi & " ) * (h1:h30000<=" & BuAy_Sonu & "))")
    Cells(i, "k") = bul
Next
End Sub
 
Üst