Sub PlakaKontrol()
Dim ws As Worksheet
Dim LastRow As Long, i As Long
Dim SeriNo As String, PlakaGrubu As String, PlakaHarfGrubu 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
PlakaGrubu = Left(Cells(i, 4), 2) ' plaka il gurubunu belirler
PlakaHarfGrubu = SadeceHarfler(Cells(i, 4)) ' plaka harf grubunu belirler
' Plaka sütununda "99AL" & serino'yu ara
Set Plaka = ws.Columns("D").Find(What:=PlakaGrubu & PlakaHarfGrubu & 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 = PlakaGrubu & PlakaHarfGrubu & 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
PlakaGrubu = Left(Cells(i, 4), 2)
PlakaHarfGrubu = SadeceHarfler(Cells(i, 4))
If InStr(SeriNo, PlakaGrubu & PlakaHarfGrubu) > 0 Then
ws.Cells(i, 3).Value = Format(Mid(SeriNo, 5), "000")
End If
Next i
MsgBox "İşlem tamamlandı!", vbInformation
End Sub
Function SadeceHarfler(str As String) As String
Dim i As Integer
Dim karakter As String, sonuc As String
sonuc = ""
For i = 1 To Len(str)
karakter = Mid(str, i, 1)
If (karakter Like "[A-Za-z]") Then
sonuc = sonuc & karakter
End If
Next i
SadeceHarfler = sonuc
End Function
Function SadeceSayiAl(str As String) As String
Dim i As Integer
Dim karakter As String, sonuc As String
sonuc = ""
For i = 1 To Len(str)
karakter = Mid(str, i, 1)
If (IsNumeric(karakter)) Then
sonuc = sonuc & karakter
End If
Next i
SadeceSayiAl = sonuc
End Function
kod önce il grubunu belirler, sonra harf grubunu belirleyerek plakaları arar böylece il ve harf grubu değişsede istediğiniz gibi verilmeyen plakaları listeler.
Kodu aşağıdaki gibi güncelleyin.