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.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Örnek dosya ile sorunuzu desteklerseniz daha hızlı yanıt alırsınız.
 
Katılım
24 Ağustos 2009
Mesajlar
4
Excel Vers. ve Dili
excel 2007 - ingilizce
Ö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

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Ben denedim hata veriyor ama..

method range of object global failed diye bir hata verdi.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
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.
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
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.
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
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:

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
sn. izcik, bulduğun hataları tek tek ellemi düzeltme yapacaksın peki.
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
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:

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
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.
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
İş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.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
hatalı mail adreslerini düzenleme

Bu geçen süre içerisinde ben birşeyler yapmaya çalışmıştım. Dosyanız ekte
 

Ekli dosyalar

Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Emeğinize fikrinize sağlık değerli tahsinanarat
 
Üst