• DİKKAT

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

iç içe "replace" kullanımı

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Kod:
adres = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(deg, "Ü", "Ü"), "İ", "İ"), "Ç", "Ç"), "Å", "Ş"), "Ä", "Ğ"), "б", "ı"), "Ã", "Ö"), "Ö¼", "ü"), "ĞŸ", "ğ"), "TC KİMLİK NO ", "")

Bu alanda yapmış olduğum replace komutunu döngü içerisinde ya da dizi içerisinde yapabilirmiyiz?
 
Kod:
For adr = 2 To Sheets("Tanımlar").Cells(Rows.Count, "A").End(3).Row
mevcut = Sheets("Tanımlar").Cells(adr, "A")
olmgrkn = Sheets("Tanımlar").Cells(adr, "B")
deg = Replace(deg, mevcut, olmgrkn)
Next
adres = deg
Cells(1, 1) = adres

Döngü ile bu şekilde hazırladım. Sorun yok. Alternatif fikri olan var mı?
 
Merhaba,
İşinize yarar mı bilmem, ben sık kullanırım.
İyi çalışmalar
 

Ekli dosyalar

Alternatif;

Kod:
Sub Test()
    deg = "TC KİMLİK NO ÜİÇÅÄбÃּП"
    
    Eski = Array("Ü", "İ", "Ç", "Å", "Ä", "б", "Ã", "Ö¼", "ĞŸ", "TC KİMLİK NO")
    Yeni = Array("Ü", "İ", "Ç", "Ş", "Ğ", "ı", "Ö", "ü", "ğ", "")
    
    For X = O To UBound(Eski)
        deg = Replace(deg, Eski(X), Yeni(X))
    Next

    MsgBox deg
End Sub
 
Alternatif;

Kod:
Sub Test()
    deg = "TC KİMLİK NO ÜİÇÅÄбÃּП"
   
    Eski = Array("Ü", "İ", "Ç", "Å", "Ä", "б", "Ã", "Ö¼", "ĞŸ", "TC KİMLİK NO")
    Yeni = Array("Ü", "İ", "Ç", "Ş", "Ğ", "ı", "Ö", "ü", "ğ", "")
   
    For X = O To UBound(Eski)
        deg = Replace(deg, Eski(X), Yeni(X))
    Next

    MsgBox deg
End Sub
Aradığım cevap buydu . (y)
Teşekkürler @Korhan Ayhan
 
Soruya cevap yazılınca mail gelmedi. Siteye giriş yaptığımda cevabı görebildim.
@Hüseyin
 
Merhabalar,

sayfanın kod alanında function ekledim ve recplace ile "cotto" bulursan "cotton" yap şeklinde. aşağıdaki kodu kullandım, doğru bir kullanım olmayabilir ama işimi görür gibi oldu. bir kaç noktada takıldım..

OtomatikDuzelt= UCase(Replace(Replace(Veri, "cotto", "COTTON"), "polyamid", "POLYAMIDE"))

yukarıdaki kod ile yaptığım denememde hücreye gerçekten doğru bir şekilde "COTTON" girilmiş olsa bile "COTTO" ifadesini bulduğu için yine düzeltiyor ve "COTTONN" yapıyor.


Tam olarak da istediğim şudur; bir hücreye değer girildiğinde (hücreden çıkıldığında)

"cotto" varsa "COTTON",
"Polyamde" varsa "POLYAMIDE"
"plyester" varsa "POLYESTER"

yazsın istiyorum.

yani hatalı yazım tahminlerimi düzeltmek için koda gömmek istiyorum.

Yardımcı olursanız çok sevinirim.
 
Tam olarak da istediğim şudur; bir hücreye değer girildiğinde (hücreden çıkıldığında)

"cotto" varsa "COTTON",
"Polyamde" varsa "POLYAMIDE"
"plyester" varsa "POLYESTER"

Sayfanın kod sayfasına aşağıdaki kodu ekleyin. Kod içindeki Range("A1:A100") aralığına değiştirilmesini istediğiniz hücre aralığını girin. Ancak örneğin, her seferinde Polyamde yazılacağından emin misiniz? Bir çok yanlış yazım şekli olabilir. Bence bu hücrelere veri doğrulama koyarak hatalı yazımı kontrol edebilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub

Select Case Target

Case "cotto"
Target = "COTTON"

Case "Polyamde"
Target = "POLYAMIDE"

Case "plyester"
Target = "POLYESTER"

End Select

End Sub
 
Sayfanın kod sayfasına aşağıdaki kodu ekleyin. Kod içindeki Range("A1:A100") aralığına değiştirilmesini istediğiniz hücre aralığını girin. Ancak örneğin, her seferinde Polyamde yazılacağından emin misiniz? Bir çok yanlış yazım şekli olabilir. Bence bu hücrelere veri doğrulama koyarak hatalı yazımı kontrol edebilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub

Select Case Target

Case "cotto"
Target = "COTTON"

Case "Polyamde"
Target = "POLYAMIDE"

Case "plyester"
Target = "POLYESTER"

End Select

End Sub


Hocam aslında biraz yanlış anlatmış olabilirim. ben zaten aslında tek bir yanlışı değil birden fazlasını işlemek istiyorum. örnekte tek bir örnek vermiştim. Ayrıca veri doğrulamayı şu yüzden tam anlamıyla kullanamadım, hücrenin içine tek bir kelime yazdırmayacağız.

%77 cotton %21 polyamide %2 elastane

tek hücreye yapıştırılacak metin bu. ben içinde cotto, coton, polymde, poltester gibi yanlış ihtimalleri girip doğrularına çevirsin istiyorum.
 
Geri
Üst