textbox plaka formatı

Katılım
17 Kasım 2019
Mesajlar
39
Excel Vers. ve Dili
2019,Türkçe
merhabalar;

TextBoxplaka isimli textbox ım var bu textbox a araç plakaları girmekteyiz.

isteğim şu şekilde Türkiye 10 basamaklı araç plakası veriyorlar örnek olarak (01 abc 1234) gibi şimdi istediğim format biz textboxa bitişik küçük harf girsek sonuç olarak büyük harf ve gruplar ayrılmış şekilde kendisi düzenlemesesini istiyorum. Şimdiden bana yardımcı olduğunuz için teşekkür ederim
 

Furkan TARAKÇI

Altın Üye
Katılım
15 Şubat 2022
Mesajlar
51
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2205 Derleme 16.0.15225.20172) 64 bit Türkçe
Merhaba,
Bir textbox ım mevcut buna sadece sayı girilecek şekilde ayarladım fakat sayı değeri girdiğimde örneğin 15 girdiğimde "RFS-Tİ-00-0015" olsun. Birşeyler yapmaya çalıştım fakat olmadı yardımcı olabilirseniz sevinirim.

Private Sub RFITBox1_Change()

deneme = RFITBox1.Value
RFITBox1.Value = Format(deneme, "RFS-Tİ-00-000#")

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,332
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kodu nesnenin Change olayına değilde Exit olayına yazmalısınız.

Örnek;

C++:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1 = "RFS-Tİ-00-" & Format(TextBox1, "0000")
End Sub
 

Furkan TARAKÇI

Altın Üye
Katılım
15 Şubat 2022
Mesajlar
51
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2205 Derleme 16.0.15225.20172) 64 bit Türkçe
korhan bey exit ile girince de boxları tab ile tekrar dolaşınca üzerine ekleyip duruyor. Kurtulmak için

Private Sub RFITBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
say = RFITBox1.Value
If Len(say) > 14 Then
RFITBox1.Value = ""
End If
RFITBox1 = "RFS-Tİ-00-" & Format(RFITBox1, "0000")

End Sub

yazdım fakat saçma oldu.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,332
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Şöyle deneyiniz.

C++:
Private Sub RFITBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   If Left(RFITBox1.Value, 3) <> "RFS" Then
      RFITBox1 = "RFS-Tİ-00-" & Format(RFITBox1, "0000")
   End If
End Sub
 

Furkan TARAKÇI

Altın Üye
Katılım
15 Şubat 2022
Mesajlar
51
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2205 Derleme 16.0.15225.20172) 64 bit Türkçe
Şöyle deneyiniz.

C++:
Private Sub RFITBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   If Left(RFITBox1.Value, 3) <> "RFS" Then
      RFITBox1 = "RFS-Tİ-00-" & Format(RFITBox1, "0000")
   End If
End Sub
👏👏👏 Harikasınız. Elinize sağlık.
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,471
Excel Vers. ve Dili
2021 LTSC TR
Private Sub TextBox1_Change()
plaka = TextBox1.Value
plaka = UCase(plaka)
plaka = Replace(plaka, " ", "")
With CreateObject("VBScript.RegExp")
.Pattern = "(.*\d)(?! )(\D.*)"
plaka = .Replace(plaka, "$1 $2")
.Pattern = "(.*\D)(?! )(\d.*)"
plaka = .Replace(plaka, "$1 $2")
TextBox1.Value = plaka
Exit Sub
End With
End Sub
 
Üst