Otomatik Sayma ve Gruplama

Katılım
13 Şubat 2008
Mesajlar
3
Excel Vers. ve Dili
Excel 2007
Arkadaşlar bir sutundaki değerleri otomatik olarak sayan ve gruplayan bir program yapmak istiyorum örnekte daha iyi anlaşılacaktır. Cevaplarınız bekliyorum
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Ekli dosyayı inceleyiniz.:cool:
Kod:
Sub mukerrer()
Dim a, i As Long, z As Object
Range("B2:C65536").ClearContents
Set z = CreateObject("scripting.dictionary")
a = Range("A1:A" & Cells(65536, "A").End(xlUp).Row)
For i = 1 To UBound(a, 1)
    If Not z.exists(a(i, 1)) Then
        z.Add a(i, 1), 1
        Else
        z.Item(a(i, 1)) = z.Item(a(i, 1)) + 1
    End If
Next
[B2].Resize(UBound(z.keys, 1), 2) = Application.Transpose(Array(z.keys, z.items))
MsgBox "İŞLEM TAMAMLANDI..!!", vbOKOnly + vbInformation, "EVREN"
End Sub
 
Katılım
13 Şubat 2008
Mesajlar
3
Excel Vers. ve Dili
Excel 2007
eline sağlık orion2 tam istedeğim gibi olmuş
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Yanıt

Sayın Orion2 cevaplamış buda örnek olması açısından daha basit kodlama ile elde edilen sonuç.
Kod:
Sub TEKRARLANANLAR()
Dim SUT, S, SUTB As Integer
[B2:C65536].Clear
For SUT = 1 To Cells(65536, "A").End(3).Row
If WorksheetFunction.CountIf(Range("A1:A" & SUT), Cells(SUT, "A")) = 1 Then
S = S + 1
Cells(S + 1, "B") = Cells(SUT, "A").Value
End If
Next
For SUT = 1 To Cells(65536, "A").End(3).Row
For SUTB = 2 To 8
If Cells(SUT, "A") = Cells(SUTB, "B") Then
Cells(SUTB, "C") = Cells(SUTB, "C") + 1
End If
Next
Next
End Sub
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Formüllü örnek ektedir.
 
Katılım
13 Şubat 2008
Mesajlar
3
Excel Vers. ve Dili
Excel 2007
arkadaşlar hepinize teşekkürler çok işime yarıyacak
 
Üst