DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Bende 250 bin kayıtta denedim sizin kodlardan yola çıkarak bişeyler yaptık çok teşekkür ederim ilgi ve alakanıza saygılarımla..
MerhabaPeki "mükerrer" ifadesi tüm kayıtlaramı yazılsın. Yoksa ilki hariç diğer kayıtlara mı yazılsın. Yani sonucun aşağıdaki örneklerden hangisi gibi olmasını istiyorsunuz.
Örnek;
Elma Mükerrer
Elma Mükerrer
Ayva
Elma Mükerrer
Ya da;
Elma
Elma Mükerrer
Ayva
Elma Mükerrer
Option Explicit
Sub KONTROL()
Dim Son As Long, Alan As Range, Veri As Variant
Dim X As Long, Y As Long, Say As Long, Zaman As Double
Zaman = Timer
Son = Cells(Rows.Count, 1).End(3).Row
Set Alan = Range("A3:A" & Son)
Veri = Range("A3:A" & Son)
ReDim Dizi(1 To 1)
For X = 1 To UBound(Veri)
Y = Y + 1
ReDim Preserve Dizi(1 To Y)
Say = WorksheetFunction.CountIf(Alan.Resize(Y), Veri(X, 1))
If Say > 1 Then
Dizi(Y) = Veri(X, 1) & "-" & Say - 1
Else
Dizi(Y) = Veri(X, 1)
End If
Next
Range("B3").Resize(Y).NumberFormat = "@"
Range("B3").Resize(Y) = Application.Transpose(Dizi)
MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & _
"İşlem süresi ; " & Format(Timer - Zaman, "0.000")
End Sub
Sub Aynı_ise_Artır()
Dim i As Integer, say As Integer
Columns(2).ClearContents
For i = 3 To Range("A65536").End(3).Row
If WorksheetFunction.CountIf(Range("A3:A" & i), Cells(i, 1)) > 1 Then
say = 1
Cells(i, 2) = Cells(i, 1) & "-" & say
say = say + 1
5 If WorksheetFunction.CountIf(Range("b3:b" & i), Cells(i, 2)) > 1 Then
If Right(Range("B65536").End(3).Value, 2) > 9 Then
say = Right(Range("B65536").End(3).Value, 2) + 1
Else
say = Right(Range("B65536").End(3).Value, 1) + 1
End If
Cells(i, 2) = Cells(i, 1) & "-" & say
GoTo 5
say = Right(Range("B65536").End(3).Value, 1) + 1
End If
Else
Cells(i, 2) = Cells(i, 1)
End If
Next i
i = Empty: say = Empty
End Sub
Sub Benzersizleri_Listele_Say()
Dim con As Object, sorgu As String
Set con = CreateObject("adodb.connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""
Set rs = con.Execute("select f1,count(f1) from [Sayfa1$A2:A34] group by f1")
Range("B2").CopyFromRecordset rs
rs.Close: con.Close
sorgu = "": Set rs = Nothing: Set con = Nothing
End Sub
Sub Benzersizleri_Bul_Say()
Dim Scr As Object, con As Object, Rky As Range, i As Long
Set Scr = CreateObject("Scripting.Dictionary")
For Each Rky In Range("A2", Range("A2").End(4))
If Not Scr.Exists(Rky.Value) Then
Scr.Add Rky.Value, Rky.Value
Cells(Rky.Row, "AD") = Rky.Value
End If
Next Rky
Columns("AD:AD").NumberFormat = "@": Columns("A:A").NumberFormat = "@"
Set con = VBA.CreateObject("adodb.connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""
For i = 2 To Range("AD65536").End(3).Row
Set rs = con.Execute("select count(f1) from [Sayfa1$] where f1='" & Cells(i, "AD") & "' group by f1")
Cells(i, 2).CopyFromRecordset rs
rs.Close
Next i
con.Close
Columns("AD:AD").ClearContents
i = Empty: Set Rky = Nothing: Set con = Nothing: Set Scr = Nothing
End Sub