BÜYÜK HARF KÜÇÜK HARF DUYARLILIĞI

yamahato

Altın Üye
Katılım
20 Mayıs 2009
Mesajlar
233
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
30-09-2026
Merhaba
Aşağıda ki arama kodunda textbox1'e yazılan ve SAHİBİNDEN İSİMLİ SAYFADA aranacak olan kelime sahibinden sayfasında ki tüm veriler büyük harflerle yazıldığı için sadece büyük harfle yazılırsa arama işlemi yapıyor. Küçük harfle yazılırsa arama yapmıyor.

Sorum şu
Aşagıdaki kodun veriyi aradığı "SAHİBİNDEN" sayfasında veri ister küçük harfle ister büyük harfle yazılı olsun textbox1 yazılan aranılacak değer küçük harf büyük harf ayrımı olmadan nasıl arama yaptırabiliriz.
DUYARLILIK NASIL KALKAR.



' *************** TextBox1 DE ARAMA ***************

Private Sub TextBox1_Change()
If Len(TextBox1.Text) = 0 Then
ListBox1.Clear
Exit Sub
End If
Dim hucre As Range
Set s1 = Sheets("SAHİBİNDEN")
son = s1.Cells(Rows.Count, "A").End(3).Row
10:
Adet = 0
ListBox1.Clear
For Each hucre In s1.Range("A2:H" & son)
If hucre <> "" Then
Veri = Split(hucre, Chr(10))
For parca = 0 To UBound(Veri)
If Left(Veri(parca), Len(TextBox1)) = TextBox1.Text Then
Adet = Adet + 1
If Adet > 3000 Then
MsgBox "En az " & Adet & " adetten fazla sonuç bulundu." & Chr(10) & _
"Lütfen 3000 adetten az sonuç bulununcuya kadar karakter girmeye devam ediniz.!", vbInformation
Exit Sub
End If
ListBox1.AddItem (s1.Cells(hucre.Row, "A").Value)
parca = UBound(Veri)
End If
Next
End If
Next
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
If Left(Veri(parca), Len(TextBox1)) = Ucase(TextBox1.Text) Then

Sahibinden sayfasında
büyük İ yerine I, büyük Ö yerine O, Ü yerine U kullanılmışsa ilave düzenleme gerekir
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

If UCase(Replace(Replace(Left(Veri(parca), Len(TextBox1)), "ı", "I"), "i", "İ")) = UCase(Replace(Replace(TextBox1.Text, "ı", "I"), "i", "İ")) Then
 

yamahato

Altın Üye
Katılım
20 Mayıs 2009
Mesajlar
233
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
30-09-2026
If Left(Veri(parca), Len(TextBox1)) = Ucase(TextBox1.Text) Then

Sahibinden sayfasında
büyük İ yerine I, büyük Ö yerine O, Ü yerine U kullanılmışsa ilave düzenleme gerekir
kodu en üstemi yazalım.
 

yamahato

Altın Üye
Katılım
20 Mayıs 2009
Mesajlar
233
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
30-09-2026
If Left(Veri(parca), Len(TextBox1)) = Ucase(TextBox1.Text) Then

Sahibinden sayfasında
büyük İ yerine I, büyük Ö yerine O, Ü yerine U kullanılmışsa ilave düzenleme gerekir
kodu tam olarak nereye ekleyelim.
 
Katılım
9 Ocak 2011
Mesajlar
354
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-07-2023
Merhaba
Sanırım bu şekilde yazacaksınız kırmızı satırın bulunduğu yere

Bu satırın yerine
If Left(Veri(parca), Len(TextBox1)) = TextBox1.Text Then

Bu Satırı yazacaksınız.
If UCase(Replace(Replace(Left(Veri(parca), Len(TextBox1)), "ı", "I"), "i", "İ")) = UCase(Replace(Replace(TextBox1.Text, "ı", "I"), "i", "İ")) Then
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,345
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Modulun en üst satırına Option Compare Text yazın. Bu satır ile o modulde string karşılaştırmaları Türkçe harfler dahil duyarsız olacaktır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Modulun en üst satırına Option Compare Text yazın. Bu satır ile o modulde string karşılaştırmaları Türkçe harfler dahil duyarsız olacaktır.
Merhaba @Zeki Gürsoy Bey,

Ben bu komutu denediğimde i-I karakterleri sorun yaratıyor.

230198


C++:
Option Explicit
Option Compare Text

Private Sub TextBox1_Change()
    Dim My_Cell As Range
    
    ListBox1.Clear
    
    If Len(TextBox1) <> 0 Then
        For Each My_Cell In Range("A2:A" & Cells(Rows.Count, 1).End(3).Row)
            If Left(My_Cell.Value, Len(TextBox1)) = TextBox1 Then
                ListBox1.AddItem My_Cell.Value
            End If
        Next
    End If
End Sub
 

yamahato

Altın Üye
Katılım
20 Mayıs 2009
Mesajlar
233
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
30-09-2026
Deneyiniz.

If UCase(Replace(Replace(Left(Veri(parca), Len(TextBox1)), "ı", "I"), "i", "İ")) = UCase(Replace(Replace(TextBox1.Text, "ı", "I"), "i", "İ")) Then
Hocam teşekkür ederim. kodunuz çatır çatır çalışıyor. Yalnız bir şey dikkatimi çekti. Mesela aradığımız malzeme ismi ICER. Verilerin olduğu sahibinden sayfasında ICER (aynen bu şekilde büyük harflerle) yazıyor. Yabancı bir marka bu ICER. Şimdi büyük veya küçük harflerle ıcer veya ICER yazınca ürünü buluyor ama marka yabancı bir marka olduğu için aslında küçük harflerle yazarken icer yazmamız gerekiyor. Küçük harflerle icer yazdığımızda ICER MARKASI KARŞIMIZA ÇIKMIYOR.
Bu sorunu nasıl çözebiliriz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
O zaman veri yığınınında bir problem var demektir. Bir sütunda hem Türkçe hem de İngilizce isim olmaması gerekir. Sütunlarda tek veri tipi kullanmanız gerekir.
 
Üst