Plaka grubunu düzenleme

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba, hayırlı sabahlar.

Ekte gönderdiğim excel dosyamın 1.sayfasının A sütununda kural dışı yazılmış plakaları formülle veya KTF formülü ile düzenlenmesini istiyorum.
Yapmak istediğim örneğin 06 ABC 123 bu şekilde olmasını istiyorum (yani il kodundan sonra bir boşluk harf grubundan sonra bir boşluk olmasını istiyorum.)

Dosya içerisinde formül ve KTF formülü var ama benim istediğim gibi çalışmıyor.

Yardımcı olur musunuz?
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,616
Excel Vers. ve Dili
Microsoft 365 Tr-64
KTF yi yeniden düzenledim
C#:
Function PLAKAYIR2(hcr As Range)
Dim plaka(1 To 3)
plk = Replace(hcr, " ", "")
For i = 1 To Len(plk)
Bak = Mid(plk, i, 1)
    If Len(plaka(2)) = 0 And Mid(plk, i, 1) Like "[0-9]" Then plaka(1) = plaka(1) & Mid(plk, i, 1): GoTo Devam
    If Len(plaka(2)) > 0 And Mid(plk, i, 1) Like "[0-9]" Then plaka(3) = plaka(3) & Mid(plk, i, 1): GoTo Devam
    If Mid(plk, i, 1) Like "[A-Z]" Then plaka(2) = plaka(2) & Mid(plk, i, 1)
Devam:
Next i
If Len(plaka(1)) = 0 Or Len(plaka(2)) = 0 Or Len(plaka(3)) = 0 Then
    PLAKAYIR2 = "HATA"
    GoTo Son
End If
PLAKAYIR2 = UCase(Join(plaka, " "))
Son:
End Function
 

usubaykan

Destek Ekibi
Destek Ekibi
Katılım
16 Mayıs 2008
Mesajlar
561
Excel Vers. ve Dili
Ev : Office Excel 2003
İş : Office Excel 2003
Alternatif olsun,

Kod:
Function PLK(Hücre)
Dim u As Integer, Harf, Plaka
Plaka = Replace(Hücre, " ", "")

For u = 1 To Len(Plaka)
   
    If IsNumeric(Mid(Plaka, u, 1)) = True Then
       Sayı = Sayı & Mid(Plaka, u, 1)
    Else
        If Len(Harf) > 3 Then
            Harf = Harf & Mid(Plaka, u, 1)
        Else
            Harf = Sayı & " " & Mid(Plaka, u, 1)
        End If
    End If
   
    If Len(Sayı) = 3 Then
        Harf = Harf & " " & Mid(Plaka, u, 1)
    End If

    If Len(Sayı) >= 4 Then
        Harf = Harf & Mid(Plaka, u, 1)
    End If

Next
PLK = Harf
End Function
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Soruma cevap veren arkadaşlara çok teşekkür ediyorum, ellerinize sağlık.
Her iki kodda süper çalışıyor.

Hayırlı günler diliyorum.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki KTF'yi de kullanabilirsiniz.

Daha önce aşağıdaki linkte @veyselemre bey paylaşmıştı. Ben sadece ufak bir rötuş yaptım.


C++:
Function PLAKA_KONTROL(Plaka As String)
    Application.Volatile True
    Plaka = Replace(UCase(Plaka), " ", "")
    With CreateObject("VBScript.Regexp")
        .Pattern = "([0-9]{2})([A-Z]{1,4})([0-9]{2,4})"
        .Global = True
        PLAKA_KONTROL = .Replace(Plaka, "$1 $2 $3")
    End With
End Function
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Sayın Korhan Bey, size de çok teşekkür ediyorum, ellerinize sağlık.

Hayırlı geceler.
 
Üst