Arkadaşlar merhaba. Bir veri tablosunda aynı tanımlama için tekrarlayan rakamlardan en yüksek olanlarını bir başka sayfada raporlamak mümkün müdür ? Ekteki dosyda örnek bulunmaktadır. İlgilenenlere şimdiden teşekkürler.
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub Aktar() 'SON ŞEKİL
Dim a, i, s As Long, b()
Set s1 = Sheets("DATA")
Set s2 = Sheets("RAPOR")
a = s1.Range("a2:a" & s1.[a65536].End(xlUp).Row).Resize(, 2).Value
ReDim b(1 To UBound(a, 1), 1 To 3)
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For i = 1 To UBound(a, 1)
If Not .exists(a(i, 1)) Then
s = s + 1
.Add (a(i, 1)), s
b(s, 1) = s
b(s, 2) = a(i, 1)
End If
b(.Item(a(i, 1)), 3) = b(.Item(a(i, 1)), 3) + a(i, 2)
Next
End With
With s2.Range("a2")
.Resize(, 3).ClearContents
.Resize(s, 3).Value = b
End With
'************************************************
son = s2.[a65536].End(3).Row
s2.Range(s2.Cells(2, "b"), s2.Cells(son, "c")).Sort Key1:=s2.Range("C2"), Order1:=xlDescending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'************************************************
s2.Select
[a1].Select
MsgBox "Bitti"
Set s1 = Nothing
Set s2 = Nothing
End Sub
Her bir müşteri için tanımlı rakamlardan sadece en yüksek olanını listeleleyecek. Örneğin Ak Ticaret için bu rakam 19 olmalı.
Sub EN_YÜKSEK_FİYATLARI_LİSTELE()
Sheets("RAPOR").Select
[A2:B65536].Clear
[DATA!A:A].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[RAPOR!A1], Unique:=True
For X = 2 To [A65536].End(3).Row
Cells(X, 2) = Evaluate("=[COLOR=RED]MAX[/COLOR](IF(DATA!A2:A1000=""" & Cells(X, 1) & """,DATA!B2:B1000))")
Next
End Sub