Kod:
Sub PlakaKontrol()
Dim ws As Worksheet
Dim LastRow As Long, i As Long
Dim SeriNo As String
Dim Plaka As Range, Verilmeyenler As Range
Set ws = ThisWorkbook.Sheets("Sayfa1") ' Çalışma sayfasını tanımla
LastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row ' Son satırı bul
For i = 3 To LastRow
SeriNo = ws.Cells(i, 3).Value ' Seri-999 değerini al
' Plaka sütununda "99AL" & serino'yu ara
Set Plaka = ws.Columns("D:D").Find(What:="99AL" & SeriNo, LookIn:=xlValues, LookAt:=xlWhole)
If Plaka Is Nothing Then ' Eğer kayıt yoksa Verilmeyenler sütununa ekle
If Verilmeyenler Is Nothing Then
Set Verilmeyenler = ws.Cells(i, 3)
Else
Set Verilmeyenler = Union(Verilmeyenler, ws.Cells(i, 3))
End If
ws.Cells(i, 3).Value = "99AL" & SeriNo
End If
Next i
If Not Verilmeyenler Is Nothing Then ' Verilmeyen plakaları alt alta sırala
Verilmeyenler.Copy ws.Cells(3, 5)
End If
For i = 3 To LastRow
SeriNo = ws.Cells(i, 3).Value
If InStr(SeriNo, "99AL") > 0 Then
ws.Cells(i, 3).Value = Format(Mid(SeriNo, 5), "000")
End If
Next i
MsgBox "İşlem tamamlandı!", vbInformation
End Sub