• DİKKAT

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

türkçe karakterleri ingilizcedeki karşılıkları ile değiştirme

Katılım
24 Ağustos 2009
Mesajlar
4
Excel Vers. ve Dili
excel 2007 - ingilizce
merhabalar..
sorum şu:
400.000 e yakın müşteri blgilerinde formata uymayan e-postaları süzmek istiyorum. Daha sonrasında ise e-posta adreslerindeki türkçe karakterleri ingilizce karşılıkları ile değiştirmek istiyorum.
conditional formatting ile ç,ğ,ö,ü,ş harflerini içeren hücreleri bulabiliyorum ama, mesela İ yazdığımda küçük i harfini içeren e-postalar de geliyor karşıma.
Farklı bir yöntem varsa yardımlarınızı bekliyorum.
Bu arada müşteri bilgilerini içeren dosya staj yaptığım firmada ve doğal olarak paylaşıma kapalı olduğu için örnek bir dosya yollayamıyorum.
 
Merhaba,

Örnek dosya ile sorunuzu desteklerseniz daha hızlı yanıt alırsınız.
 
Örnek bir dosyayı ekte yolluyorum.

A sütununda yazan e-posta adreslerinde türkçe karakter bulunanlar için B sütununa "yanlış" gibi bir ifadenin yazılmasını istiyorum. Ya da herhangi birşey yapmadan türkçe karakter içeren adresleri süzmeyi. Bu ayıklama işini conditional formatting yöntemi that contains ile yapabiliyorum fakat İ ve ı ları bulmaya gelince iş değişiyor. Çünkü küçük-büyük harf duyarlı değil.
Yardımcı olursanız sevinirim..
 

Ekli dosyalar

Selamlar,

Aşağıdaki kodu kullanabilirsiniz. 400.000 satır için işlem süresi biraz zaman alabilir.

Kod:
Option Explicit
 
Sub TÜRKÇE_KARAKTER_KONTROL()
    Dim X As Long, Y As Byte, KARAKTER As Variant, AYIR As Variant
 
    KARAKTER = Array("i", "İ", "ç", "Ç", "ğ", "Ğ", "ö", "Ö", "ş", "Ş", "ü", "Ü")
 
    Columns(2).ClearContents
 
    For X = 1 To Range("A1048576").End(3).Row
        AYIR = Split(Cells(X, 1), "@")
            For Y = 0 To UBound(KARAKTER)
                If InStr(1, AYIR(0), KARAKTER(Y)) > 0 Then Cells(X, 2) = "YANLIŞ": Exit For
            Next
    Next
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Ben denedim hata veriyor ama..

method range of object global failed diye bir hata verdi.
 
Ben denedim hata veriyor ama..

method range of object global failed diye bir hata verdi.

Excel 2003 ve öncesi (sanırım 2000 sürüm de öyleydi) sürümlerde bir sayfa 65536 satırdan oluşuyor. 2007 sürümünde satır sayısı arttı, dolayısıyla Korhan Bey'in verdigi kodda :

....
...
Range("A1048576").End(3).Row
...
..

satırını siz A65536 olarak kullanırsanız hata almazsanız.
 
Değerli Hocam Necdet Yeşertener söylediğiniz gibi yaptım oldu. Fakat şöyle bir şey denedim olmadı. Örnek emailleri silip , A sütununa sadece ç , ğ , ş gibi harfleri yazdım. (Türkçe karakter olanları bulsun diye) hata verdi.

Email olmayan ; bir kelimede , cümlede geçen veya sadece harf olarak görünen Türkçe karakterlerin bulunduğu hücreleri işaretlememiz için nasıl bir kod uygulayabiliriz?

Teşekkürler
 
Selamlar,

Sn. izcik,

Kodu email için düzenlediğim için normal kelimelerde sonuç alamamanız normal. Kodu aşağıdaki şekilde değiştirirseniz çalışacaktır.

Kod:
Option Explicit
 
Sub TÜRKÇE_KARAKTER_KONTROL()
    Dim X As Long, Y As Byte, KARAKTER As Variant
 
    KARAKTER = Array("i", "İ", "ç", "Ç", "ğ", "Ğ", "ö", "Ö", "ş", "Ş", "ü", "Ü")
 
    Columns(2).ClearContents
 
    For X = 1 To Range("A65536").End(3).Row
        For Y = 0 To UBound(KARAKTER)
            If InStr(1, Cells(X, 1), KARAKTER(Y)) > 0 Then Cells(X, 2) = "YANLIŞ": Exit For
        Next
    Next
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Değerli Korhan Ayhan yaptım çalıştı. Yapa yapa makro düğmelerinin de üstesinden gelmeye başladım. Önceden hep hata veriyordu oluşturduğum makro düğmeleri.
 
Yalnız şimdi farkına vardığım bir husus var.

Birinci dosya için: Küçük i harfi emaillerde geçerli olan bir harftir. Yani ingilizce harftir. Fakat makroda mısırpaketi kelimesini misirpaketi olarak değiştirdiğimde hata veriyor. halbuki hata vermemesi gerekir.


İkinci dosya için: Küçük ı harfi İngilizce olmayan bir harftir. Ve ikinci dosyada ı harfi yazdığım zaman hata vermesi gerekir. Fakat vermiyor. Tam tersine küçük i harfi hata veriyor.


İki makroda da bir düzeltme yapılması gerekir.

Saygılar




Not: Denedim kodlardaki i harflerini ı olarak değiştirince hataların hepsi ortadan kalkıyor :)

......................

Yaptık bir iş tam yapalım

Dosya Ekleri: Türkçe Karakter Hatası Bulma Kelime ve Harfler İçin

ve Türkçe Karakter Hatası Bulma Emailler İçin
 

Ekli dosyalar

Son düzenleme:
sn. izcik, bulduğun hataları tek tek ellemi düzeltme yapacaksın peki.
 
Hayır üstadım. Ctrl + H ile düzeltme yapmayı kastediyorsanız (neyi kastettiğinizi bilmiyorum) onu zaten yıllardır bilir ve kullanırım. Benim için önemli olan excelde bahsi geçen dosyaların oluşmuş olmasıdır. Güzellik bu :) Bilmiyorum anlatabildim mi?

Yani excelde farklı olaylara ve sorunlara çare bulabiliyoruz ya; daha doğrusu bulabiliyorsunuz ya;



işte bu rahatlık veriyor insana hem de çok.
 
Son düzenleme:
sn. izcik tabiiki Ctrl+H ile düzeltme yapmayı kastetmiyorum, türkçe karakter olanların karşısına bir işaret koymaya çalışmışsınız ya, ben bunları işaretlemek yerine neden doğrudan düzenleme yönüne gitmediğini merak ettiğimden sormuştum.
 
İşte onu söylüyorum değerli üstadım; önemli olan excel ile ilgili bu tür özellikleri öğreniyor olmak.


Yukarıdaki sıraya dizip yanlış olanları görmek ve bundan emin olmak, insana öyle bir güven veriyor ki.. Anlatabiliyor muyum? Dikkat ederseniz hiç Türkçe karakter hatasından bahsetmiyorum. Excelde bir şeyi sıraya dizmek ve bunu saniyesinde yapmak ve görmek mükemmel bir his.

İnternetten film ve şarkı indirmekten bıktım. Excel i öğreniyorum burada sayenizde.

Ki daha checkboxun nasıl bir şey olduğunu dün gördüm. Daha çok var öğrenmek gereken şey.

Ben yıllarca elimde kalem, hesap makinesi ile ve sipariş fişi ile iş yaptım. Ama 97 yılından beri ne hesap makinesi kullanıyorum, ne kalem ne de sipariş fişi.. Bunlar bilgisayarların ucuzlaması ve excel ile mümkün oluyor.
 
Emeğinize fikrinize sağlık değerli tahsinanarat
 
Geri
Üst