- Katılım
- 2 Ekim 2014
- Mesajlar
- 74
- Excel Vers. ve Dili
- office 2014
C:
Sub aaa()
Dim x, i As Long
x = Selection.Column
i = Cells(Rows.Count, x).End(xlUp).Row
If i <> 1 Then
For a = 2 To i - 1
For b = i To a + 1 Step -1
If Trim(Cells(a, x).Value) = Trim(Cells(b, x).Value) Then
Range(Cells(a, Cells(a, Columns.Count).End(xlToLeft).Column + 1), Cells(a, Cells(a, Columns.Count).End(xlToLeft).Column _
+ Cells(b, Columns.Count).End(xlToLeft).Column - x)).Value = _
Range(Cells(b, x + 1), Cells(b, Cells(b, Columns.Count).End(xlToLeft).Column)).Value
Rows(b).EntireRow.Delete 'SATIRI SİL
i = i - 1 'DÖNGÜDEN EKSİLT
End If: Next: Next
End If
End Sub
hayırlı günler, iyi çalışmalar. daha önce yine buradan hocalarımdan aldığım bu kod, Seçilen sütundaki mükerrer/yinelenen veriyi bulup, aynı satıra yazıyor, sonra mükerrer satırları silebiliyor
Sorunum, kodun mükerrer veriyi en alttan başlayarak ilk satıra yazması ile başlıyor. en alttaki en büyük tarihten başlayarak diğer verileri, satır, c,d,e vb yazıyor ve bu durumda satır değerleri 1,5,4,3,2 şeklinde oluyor. büyükten küçüğe doğru dizdiğimde ise, 5,1,2,34 şeklinde oluyor.
yani bu kodda seçilen sütun yanındaki ilk değeri de, döngünün en sonuna atma şansı var mıdır? ya da farklı bir çözüm?
ORNEK EKTEDİR