• DİKKAT

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

Çözüldü VBA'da Metin Karşılaştırmalarını Büyük/Küçük Harfe Duyarsız Hale Getirme

Katılım
12 Ağustos 2022
Mesajlar
98
Excel Vers. ve Dili
2013 TÜRKÇE
Merhaba arkadaşlar.

Aşağıdaki "Like" kullanımı Büyük/Küçük Harfe duyarlı.
Bu durumu duyarsız hala nasıl getiririm.

If ws.Cells(i, "E") Like "*MEHMET*" Then
ws.Cells(i, "C") = "Hasta"
End If

Yardımlarınız için şimdiden teşekkür ederim.
 
Deneyiniz.

C++:
If UCase(Replace(Replace(ws.Cells(i, "E"), "ı", "I"), "i", "İ")) Like "*MEHMET*" Then
 
Merhaba,
Seçenek olsun

Kod:
        If InStr(1, ws.Cells(i, "E"), "MEHMET", vbTextCompare) > 0 Then Cells(i, "C") = "Hasta"
 
Son düzenleme:
Arkadaşlar teşekkür ederim.

If ws.Cells(i, "E") Like "*MEHMET*" Then
ws.Cells(i, "C") = "Hasta"
End If

Burada "Like" yi kullanmam lazım. Ayrıca "*MEHMET*" kısmını küçük harfle yazsam da büyük harfle da yazsam sonucu almak istiyorum.
 
Benim önerimde Like kullanmıştım. İşinize yaramadı mı?

Alternatif olarak kodların en tepesine aşağıdaki ifadeyi yazıp deneyiniz. Ben bu komutu kullanmama rağmen bazen sonuç alamamıştım. Sizde belki işe yarayabilir.

Option Compare Text
 
Korhan Bey;

Option Compare Text'i daha önce denedim sonuç alamamıştım.

If UCase(Replace(Replace(ws.Cells(i, "E"), "ı", "I"), "i", "İ")) Like "*MEHMET*" Then

Önerinizi,

If LCase(Replace(Replace(ws.Cells(i, "E"), "ı", "I"), "i", "İ")) Like "*MEHMET*" Then
değiştirdiğimde sonuç verdi.

Teşekkür ederim, elinize emeğinize sağlık.
 
Merhaba,
Ben ters anlamışım, verdiğim kodu yeniden düzenledim. Bilginize.
 
Necdet Bey, teşekkür ederim.

MEHMET, ÖZEL, ANADOLU vb. ibareleri bir cümle içinde geçiyor.

If InStr(1, ws.Cells(i, "E"), "MEHMET", vbTextCompare) > 0 Then Cells(i, "C") = "Hasta"

Bu kodda metin kısmını büyük harfle yazdığımda sonuç alıyorum, küçük harfle yazdığımda sonuç alamıyorum.
 
Merhaba,

ben deneme yaparak verdim, tırnak içinde yazdığınız "MEHMET"i Mehmet, mehmet, mEhMet gibi yazımlarla da denedim, sonuçta hep buldu.

A1 : MEHMET, ÖZEL, ANADOLU
Kod:
Public Sub DENE()

If InStr(1, [A1], "mEhMEt", vbTextCompare) > 0 Then
    MsgBox "Buldu..."
Else
    Range("B1") = "Bulamadı....."
End If
    
End Sub
 
Necdet Bey,

"özel eğitim" ibaresini arattığımda sonuç alamıyorum. Acaba iki kelime olduğundan mı hata verdi.
 
Türkçe karakter sorunu.
Aranan değerd (E sütununda) türkçe karakterleri olan "I" ve "İ" leri ya büyük harfe ya da küçük harfe çevirmek gerek
Hepsini büyük harfe çevirirseniz kod içinde çift tırnak içinde yazdığınız değeri de ona göre yazmanız gerek.

Bu kodları da zaten Korhan bey kodlarında kullandı, ona benzetmeniz gerek.
 
Türkçe karakter sorunu.
Aranan değerd (E sütununda) türkçe karakterleri olan "I" ve "İ" leri ya büyük harfe ya da küçük harfe çevirmek gerek
Hepsini büyük harfe çevirirseniz kod içinde çift tırnak içinde yazdığınız değeri de ona göre yazmanız gerek.

Bu kodları da zaten Korhan bey kodlarında kullandı, ona benzetmeniz gerek.
 
Türkçe karakter sorunu.
Aranan değerd (E sütununda) türkçe karakterleri olan "I" ve "İ" leri ya büyük harfe ya da küçük harfe çevirmek gerek
Hepsini büyük harfe çevirirseniz kod içinde çift tırnak içinde yazdığınız değeri de ona göre yazmanız gerek.

Bu kodları da zaten Korhan bey kodlarında kullandı, ona benzetmeniz gerek.

Necdet Bey, teşekkür ederim.
Büyük harfe çevirerek kullanıyorum.
Amacım, bu duyarlılığı kaldırabilimiyim araştırması idi.
 
Türkçe karakter sorunu.
Aranan değerd (E sütununda) türkçe karakterleri olan "I" ve "İ" leri ya büyük harfe ya da küçük harfe çevirmek gerek
Hepsini büyük harfe çevirirseniz kod içinde çift tırnak içinde yazdığınız değeri de ona göre yazmanız gerek.

Bu kodları da zaten Korhan bey kodlarında kullandı,
Türkçe karakter sorunu.
Aranan değerd (E sütununda) türkçe karakterleri olan "I" ve "İ" leri ya büyük harfe ya da küçük harfe çevirmek gerek
Hepsini büyük harfe çevirirseniz kod içinde çift tırnak içinde yazdığınız değeri de ona göre yazmanız gerek.

Bu kodları da zaten Korhan bey kodlarında kullandı, ona benzetmeniz gerek.

Necdet Bey, teşekkür ederim.
Büyük harfe çevirerek kullanıyorum.
Amacım, bu duyarlılığı kaldırabilimiyim araştırması idi.
 
Geri
Üst