eceLprensi
Altın Üye
- Katılım
- 30 Ekim 2007
- Mesajlar
- 97
- Excel Vers. ve Dili
- 2016
- Altın Üyelik Bitiş Tarihi
- 29-06-2025
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Option Explicit
Sub Analiz()
Dim Veri As Variant, Son As Long
Dim X As Long, Y As Long, Zaman As Double
Zaman = Timer
Range("C2:C" & Rows.Count).ClearContents
Son = Cells(Rows.Count, 1).End(3).Row
If Son = 2 Then Son = 3
Veri = Range("A2:C" & Son).Value
For X = LBound(Veri) To UBound(Veri)
If X = UBound(Veri) Then
If Veri(X, 3) = "" Then Veri(X, 3) = Veri(X, 2)
End If
For Y = X + 1 To UBound(Veri)
If Veri(X, 1) = Veri(Y, 1) Then
If Veri(X, 2) <> Veri(Y, 2) Then
Veri(X, 3) = "Karma"
Veri(Y, 3) = "Karma"
Else
Veri(X, 3) = Veri(X, 2)
Veri(Y, 3) = Veri(Y, 2)
End If
Else
If Veri(X, 3) = "" Then Veri(X, 3) = Veri(X, 2)
X = Y - 1
Exit For
End If
Next
Next
Range("A2").Resize(UBound(Veri, 1), UBound(Veri, 2)) = Veri
Columns.AutoFit
MsgBox "Veri aktarımı tamamlanmıştır." & Chr(10) & Chr(10) & _
"İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
... gerçekten hayat kurtardın.
Sub test()
Range("C2:C" & Rows.Count).ClearContents
liste = Range("A2:C" & Cells(Rows.Count, 1).End(3).Row).Value
With CreateObject("Scripting.Dictionary")
For i = LBound(liste) To UBound(liste)
al = liste(i, 1)
If .exists(al) Then
ver = .Item(al)
If ver <> "Karma" And ver <> liste(i, 2) Then .Item(al) = "Karma"
Else
.Item(al) = liste(i, 2)
End If
Next i
For i = LBound(liste) To UBound(liste)
liste(i, 3) = .Item(liste(i, 1))
Next i
End With
Range("a2").Resize(UBound(liste), 3) = liste
End Sub