• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

RegExp ile inputbox tan gelen değerin içindeki karekterleri değiştirmek

Katılım
26 Mayıs 2005
Mesajlar
609
Excel Vers. ve Dili
Office 2022 - Türkçe
Herkese iyi geceler,

RegExp ile ilgili bir çok örnek forumda mevcut. Ama ya ben nasıl kullanıldığını anlamadım yada başka bir sıkıntı var.

Yapmak istediğim inputbox gelen değerin içinde "Ç,ç,Ğ,ğ,ı,İ,i,Ö,ö,Ş,ş,Ü,ü" var ise bunları "C,G,I,I,O,S,U" çevirmek. Örnek "yeşil" değerini "YESIL" olarak değiştirmek.
 
Konu Regexp de olsa döngüsüz yapılamıyor bildiğim kadarıyla. İşin içine döngü girdikten sonra RegExp'in anlamı kalmayacağı için sorunun birden fazla çözümü vardır. Amacınızın yalnız karakter değişimi mi? yoksa bu işlemi RegExp nesnesi ile mi yapmak istediğinizi belirtin.
 
Döngü ile çözümü;

Kod:
Option Explicit

Sub Test()
    Dim Eski_Karakter(), Yeni_Karakter(), X As Byte, Veri As Variant

    Veri = Application.InputBox("Lütfen aramak istediğiniz veri girişini yapınız.")
    If Veri = "" Or Veri = False Then Exit Sub
    
    Eski_Karakter = Array("Ç", "ç", "Ğ", "ğ", "ı", "İ", "i", "Ö", "ö", "Ş", "ş", "Ü", "ü")
    Yeni_Karakter = Array("C", "C", "G", "G", "I", "I", "I", "O", "O", "S", "S", "U", "U")
    
    For X = 0 To UBound(Eski_Karakter)
        Veri = Replace(Veri, Eski_Karakter(X), Yeni_Karakter(X))
    Next
    
    Veri = UCase(Veri)
    
    MsgBox Veri
End Sub
 
Döngü kullanmadan alternatif:

Kod:
Sub Test()
    'Haluk - 01/10/2019
    'sa4truss@gmail.com
    Veri = Application.InputBox("Lütfen aramak istediğiniz veri girişini yapınız.")
    If Veri = "" Or Veri = False Then Exit Sub
    
    myStr = StrConv(Veri, vbUpperCase, 1033)
    myStr = StrConv(myStr, vbUpperCase, 64)
    MsgBox myStr
End Sub

.
 
Son düzenleme:
Sayın Zeki Gürsoy, Sayın Korhan Ayhan, Sayın Haluk

Yardımlarınız ve cevaplarınız için hepinize ayrı ayrı teşekkür ederim.
 
Geri
Üst