İ
İhsan Tank
Misafir
evet boş olması gerekiyor,
çünkü liste çooook uzun,
Merhaba
Bu kodu dener misiniz_?
Kod:
Option Explicit
Sub Aylık_Rapor_61()
Dim ts, kaplan, trabzonspor, hamsi As Date
Dim bordo, mavi
Set bordo = Sheets("GİRİŞ")
Set mavi = Sheets("İSTATİSTİK")
trabzonspor = MsgBox("Aylık Bazda Rapor Alıyorum", vbYesNo, "Onay")
If trabzonspor = vbNo Then Exit Sub
Application.ScreenUpdating = False
hamsi = Time
mavi.Range("B11:D" & Rows.Count).ClearContents
For ts = 4 To bordo.Cells(Rows.Count, "B").End(xlUp).Row
If bordo.Cells(ts, "A") = "" Then
bordo.Cells(ts, "K") = bordo.Cells(ts - 1, "K")
Else
bordo.Cells(ts, "K") = bordo.Cells(ts, "A")
End If
Next
For trabzonspor = 11 To mavi.Cells(Rows.Count, "A").End(xlUp).Row
kaplan = 0
bordo.Range("J:J").ClearContents
For ts = 4 To bordo.Cells(Rows.Count, "K").End(xlUp).Row
If Format(bordo.Cells(ts, "K"), "dd.mm.yyyy") = Format(mavi.Cells _
(trabzonspor, "A"), "dd.mm.yyyy") Then
bordo.Cells(ts, "J") = bordo.Cells(ts, "C") & " " & bordo.Cells(ts, "D")
End If
Next
For ts = 4 To bordo.Cells(Rows.Count, "J").End(xlUp).Row
If WorksheetFunction.CountIf(bordo.Range("J4:J" & ts), bordo.Cells(ts, "J")) = 1 Then
kaplan = kaplan + 1
mavi.Cells(trabzonspor, "B") = kaplan
End If
Next
bordo.Range("J:J").ClearContents
mavi.Cells(trabzonspor, "C") = WorksheetFunction.CountIf(bordo.Range("K:K"), _
mavi.Cells(trabzonspor, "A"))
mavi.Cells(trabzonspor, "D") = WorksheetFunction.SumIf(bordo.Range("K:K"), _
mavi.Cells(trabzonspor, "A"), bordo.Range("H:H"))
Next
bordo.Range("K:K").ClearContents
Application.ScreenUpdating = True
MsgBox Format(hamsi - Time, "hh:mm:ss") & vbLf _
& "Sürede Aylık Bazda Rapor Aldım", , "Bitiş"
End Sub
