walabi
Altın Üye
- Katılım
- 22 Eylül 2012
- Mesajlar
- 820
- Excel Vers. ve Dili
-
excel 2010
excel 2013
- Altın Üyelik Bitiş Tarihi
- 06-08-2025
Merhaba,
Farklı formatlarda , yani veri girişi olarak formatları farklı plakalar mevcut. Aşağıda görünen 3 KTF bende çalışan ve işime yarayan fonksiyonlar. Bunları tek bir fonksiyon haline getirmem mümkün mü? Yani fonksiyona şunu diyebilir miyim!!! Bu formatın sonucu boş ise şu formatı dene gibi.
Bu standart plaka formatı
Aşağıdakiler farklılık arzeden plaka formatları için
Örneğin 34 00 55 66666 gibi bir plaka olabiliyor ve aralara boşluk yerine - (tire) işareti ya da . (nokta) kullanılabiliyor.
34 00 55 66666
34-00-55-66666
34.00.55.66666
gibi gibi,
Ayrıca bazı plakalar ( iş makinaları plakaları gibi ), içinde harf içerirken, bazıları sayı içeriyor, aşağıdaki örneğin standart olarak tek harf içermekte.
Farklı formatlarda , yani veri girişi olarak formatları farklı plakalar mevcut. Aşağıda görünen 3 KTF bende çalışan ve işime yarayan fonksiyonlar. Bunları tek bir fonksiyon haline getirmem mümkün mü? Yani fonksiyona şunu diyebilir miyim!!! Bu formatın sonucu boş ise şu formatı dene gibi.
Bu standart plaka formatı
Kod:
Function Plaka_1(hcr As Range) As String
Dim reg As Object, m As Object
Set reg = CreateObject("VBScript.RegExp")
reg.Pattern = "\b\d{2}\s?[A-Za-z]{1,3}\s?\d{2,4}\b"
Set m = reg.Execute(hcr.Value)
If m.Count > 0 Then Plaka_1 = m(0)
End Function
Örneğin 34 00 55 66666 gibi bir plaka olabiliyor ve aralara boşluk yerine - (tire) işareti ya da . (nokta) kullanılabiliyor.
34 00 55 66666
34-00-55-66666
34.00.55.66666
gibi gibi,
Kod:
Function Plaka_2(hcr As Range) As String
Dim reg As Object, m As Object
Set reg = CreateObject("VBScript.RegExp")
'reg.Pattern = "\b\d{2}\S?[A-Za-z0-9]{1,3}\S?\d{2,5}\b"
reg.Pattern = "\b\d{2}\S?\b\d{2}\S?\b\d{2}\S?\d{2,5}\b"
Set m = reg.Execute(hcr.Value)
If m.Count > 0 Then Plaka_2 = m(0)
End Function
Ayrıca bazı plakalar ( iş makinaları plakaları gibi ), içinde harf içerirken, bazıları sayı içeriyor, aşağıdaki örneğin standart olarak tek harf içermekte.
Kod:
Function Plaka_3(hcr As Range) As String
Dim reg As Object, m As Object
Set reg = CreateObject("VBScript.RegExp")
reg.Pattern = "\b\d{2} \s?[A-Za-z]{1,1}\s?\d{2,5}\b"
Set m = reg.Execute(hcr.Value)
If m.Count > 0 Then Plaka_3 = m(0)
End Function
Son düzenleme: