Soru Büyük Küçük Harf Sorunu

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Herkese Merhaba aşağıdaki kodlarla belirlediğim sütunlarda arama yapabiliyorum ama sorun şu Büyük İ küçük i Ğ ğ Ü ü gibi harfleri exceldeki şekliyle yazmadığım zaman arama yapmıyor.
Kod:
Private Sub TxtAra_Change()


With Sayfa11
Dim askm()
Dim Son As Long
Son = .Range("B" & Rows.Count).End(3).Row

Dim sat As Long
    Dim s As Long
    Dim sutun As Byte
    If OptionButton1.Value = True Then
        sutun = 1
    ElseIf OptionButton2.Value = True Then
        sutun = 2
    ElseIf OptionButton3.Value = True Then
        sutun = 3
ElseIf OptionButton4.Value = True Then
        sutun = 4
ElseIf OptionButton5.Value = True Then
        sutun = 5
ElseIf OptionButton6.Value = True Then
        sutun = 6
ElseIf OptionButton7.Value = True Then
        sutun = 9
ElseIf OptionButton13.Value = True Then
        sutun = 8
ElseIf OptionButton14.Value = True Then
        sutun = 11
    End If
    s = 0
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
ListBox1.RowSource = Empty
ListBox1.Clear
j = 0
For sat = 2 To Son
    If LCase(.Cells(sat, sutun)) Like LCase("*" & txtAra.Value & "*") Then
        ReDim Preserve askm(0 To 26, 0 To j)
        askm(0, j) = .Cells(sat, 1)
        askm(1, j) = .Cells(sat, 2)
        askm(2, j) = .Cells(sat, 3)
        askm(3, j) = .Cells(sat, 4)
        askm(4, j) = .Cells(sat, 5)
        askm(5, j) = .Cells(sat, 6)
        askm(6, j) = .Cells(sat, 7)
        askm(7, j) = .Cells(sat, 8)
        askm(8, j) = .Cells(sat, 9)
        askm(9, j) = .Cells(sat, 10)
        askm(10, j) = .Cells(sat, 11)
        askm(11, j) = .Cells(sat, 12)
        askm(12, j) = .Cells(sat, 13)
        askm(13, j) = .Cells(sat, 14)
        askm(14, j) = .Cells(sat, 15)
        askm(15, j) = .Cells(sat, 16)
        askm(16, j) = .Cells(sat, 17)
        askm(17, j) = .Cells(sat, 18)
        askm(18, j) = .Cells(sat, 19)
        askm(19, j) = .Cells(sat, 20)
        askm(20, j) = .Cells(sat, 21)
        askm(21, j) = .Cells(sat, 22)
        askm(22, j) = .Cells(sat, 23)
        askm(23, j) = .Cells(sat, 24)
        askm(24, j) = .Cells(sat, 25)
        askm(25, j) = .Cells(sat, 26)
        
        j = j + 1
    End If
Next sat
    If j > 0 Then
        ListBox1.Column = askm
    End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End With
End Sub
illaha verileri yazdığım gibi yazmam gerekiyor YASİN şeklinde yazılanı yas yazınca buluyor yasi yazınca bulmuyor YASİ yazınca çıkıyor
Kod:
Public Function buyukharfler(cumle)
gecici = ""
For i = 1 To Len(cumle)
          h = Mid(cumle, i, 1)
          Select Case h
            Case "ğ": gecici = gecici + "Ğ"
            Case "ü": gecici = gecici + "Ü"
            Case "ş": gecici = gecici + "Ş"
            Case "ç": gecici = gecici + "Ç"
            Case "ö": gecici = gecici + "Ö"
            Case "ı": gecici = gecici + "I"
            Case "i": gecici = gecici + "İ"
            Case Else: gecici = gecici + UCase(h)
            End Select
Next i
buyukharfler = gecici
End Function
bu kodları buldum ama bu sefer de kodları benim makroya nasıl revize edeceğimi bulamadım. Yardım edebilecek var mı
 

Necdet

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

Kodu incelemedim, ne iş yaptığını da anlamadım. Mevcut kodları aşağıdaki şekilde dener misiniz.

VBA'da önce değeri büyük harfe çevirip sonra büyük harflerle kontrol etmelisiniz.

Kod:
Function buyukharfler(cumle)

    buyukharfler = UCase(Replace(Replace(cumle, "i", "İ"), "ı", "I"))
    
End Function
 
Son düzenleme:

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
NE
Merhaba,

Kodu incelemedim, ne iş yaptığını da anlamadım. Mevcut kodları aşağıdaki şekilde dener misiniz.

VBA'da önce değeri büyük harfe çevirip sonra büyük harflerle kontrol etmelisiniz.

Kod:
Function buyukharfler(cumle)

    buyukharfler = UCase(Replace(Replace(cumle, "i", "İ"), "ı", "I"))
   
End Function
Necet Bey kodlar listboxtan seçilen sütunlardan veri arıyor tüm veriler excele büyük harfle girilmiş ama misal
Private Sub TxtAra_Change()


With Sayfa11
Dim askm()
Dim Son As Long
Son = .Range("B" & Rows.Count).End(3).Row

Dim sat As Long
Dim s As Long
Dim sutun As Byte
If OptionButton1.Value = True Then
sutun = 1
kısmında YASİN yazıyor ya ben yasin diyince listboxta bulmuyor İLLAHA YASİN yazmam gerekiyor ama ben yasin şekinde küçük harfle de yazınca listboxta bulmasını istiyorum
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Kod:
deg1 = UCase(Replace(Replace(Left(Sheets("veri").Cells(X, Y).Value, Uzunluk), "ı", "I"), "i", "İ"))
deg2 = UCase(Replace(Replace(txtAra.Text, "ı", "I"), "i", "İ"))
If deg1 = deg2 And txtAra.Text <> "" Then
    End If
böyle bir şey buldum olmadı ama
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Herkese Merhaba aşağıdaki kodlarla belirlediğim sütunlarda arama yapabiliyorum ama sorun şu Büyük İ küçük i Ğ ğ Ü ü gibi harfleri exceldeki şekliyle yazmadığım zaman arama yapmıyor.
Kod:
Private Sub TxtAra_Change()


With Sayfa11
Dim askm()
Dim Son As Long
Son = .Range("B" & Rows.Count).End(3).Row

Dim sat As Long
    Dim s As Long
    Dim sutun As Byte
    If OptionButton1.Value = True Then
        sutun = 1
    ElseIf OptionButton2.Value = True Then
        sutun = 2
    ElseIf OptionButton3.Value = True Then
        sutun = 3
ElseIf OptionButton4.Value = True Then
        sutun = 4
ElseIf OptionButton5.Value = True Then
        sutun = 5
ElseIf OptionButton6.Value = True Then
        sutun = 6
ElseIf OptionButton7.Value = True Then
        sutun = 9
ElseIf OptionButton13.Value = True Then
        sutun = 8
ElseIf OptionButton14.Value = True Then
        sutun = 11
    End If
    s = 0
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
ListBox1.RowSource = Empty
ListBox1.Clear
j = 0
For sat = 2 To Son
    If LCase(.Cells(sat, sutun)) Like LCase("*" & txtAra.Value & "*") Then
        ReDim Preserve askm(0 To 26, 0 To j)
        askm(0, j) = .Cells(sat, 1)
        askm(1, j) = .Cells(sat, 2)
        askm(2, j) = .Cells(sat, 3)
        askm(3, j) = .Cells(sat, 4)
        askm(4, j) = .Cells(sat, 5)
        askm(5, j) = .Cells(sat, 6)
        askm(6, j) = .Cells(sat, 7)
        askm(7, j) = .Cells(sat, 8)
        askm(8, j) = .Cells(sat, 9)
        askm(9, j) = .Cells(sat, 10)
        askm(10, j) = .Cells(sat, 11)
        askm(11, j) = .Cells(sat, 12)
        askm(12, j) = .Cells(sat, 13)
        askm(13, j) = .Cells(sat, 14)
        askm(14, j) = .Cells(sat, 15)
        askm(15, j) = .Cells(sat, 16)
        askm(16, j) = .Cells(sat, 17)
        askm(17, j) = .Cells(sat, 18)
        askm(18, j) = .Cells(sat, 19)
        askm(19, j) = .Cells(sat, 20)
        askm(20, j) = .Cells(sat, 21)
        askm(21, j) = .Cells(sat, 22)
        askm(22, j) = .Cells(sat, 23)
        askm(23, j) = .Cells(sat, 24)
        askm(24, j) = .Cells(sat, 25)
        askm(25, j) = .Cells(sat, 26)
       
        j = j + 1
    End If
Next sat
    If j > 0 Then
        ListBox1.Column = askm
    End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End With
End Sub
illaha verileri yazdığım gibi yazmam gerekiyor YASİN şeklinde yazılanı yas yazınca buluyor yasi yazınca bulmuyor YASİ yazınca çıkıyor
Kod:
Public Function buyukharfler(cumle)
gecici = ""
For i = 1 To Len(cumle)
          h = Mid(cumle, i, 1)
          Select Case h
            Case "ğ": gecici = gecici + "Ğ"
            Case "ü": gecici = gecici + "Ü"
            Case "ş": gecici = gecici + "Ş"
            Case "ç": gecici = gecici + "Ç"
            Case "ö": gecici = gecici + "Ö"
            Case "ı": gecici = gecici + "I"
            Case "i": gecici = gecici + "İ"
            Case Else: gecici = gecici + UCase(h)
            End Select
Next i
buyukharfler = gecici
End Function
bu kodları buldum ama bu sefer de kodları benim makroya nasıl revize edeceğimi bulamadım. Yardım edebilecek var mı
bu kodlar çok fonksiyonlu ama bağlayamadım kendi koduma
 

Necdet

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

Bir takım kodlar veriyorsunuz ama bunlara bakarak genelde ne yaptığınızı anlamak zor.

Mantık şu, bakılan değeri ve aranan değeri kod ile büyük harfe çevirmelisiniz ki, aradığınız değeri bulabilesiniz.
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Private Sub TxtAra_Change()
Kısmında arama yapıyorum büyük harfle arama yapmayınca bulmuyor örnek dosya ektedir.
 

Ekli dosyalar

Necdet

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

Ben dosya içinde kayboldum, daha basit bir dosya ekleyebilirseniz inceleme şansı olabilir.

basit bir form, içinde aramada kullanılacak bir textbox 3-5 kayıtlık bir veri.

Bu dosyayı inceleyip işi yapacak kodları yazar arkadaşlar, siz de kendi projenize uygularsınız.
Bu şekilde kodları inceleyip hatayı bulmak ancak vakti olan ve olayı bilen kişi için olabilir.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba ,

İlgili satırı bu şekilde değiştirip dener misiniz , @Necdet bey'in verdiği mantık ile denediğimde bende sonuç olumlu çıktı.

Kod:
If LCase(.Cells(sat, sutun)) Like LCase("*" & LCase(Replace(Replace(txtAra.Value, "i", "İ"), "ı", "I")) & "*") Then
 

Ekli dosyalar

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Sayın @EmrExcel16 Bey ve sayin @Necdet Bey çok teşekkür ederim. Çalıştı ekteki dosya sorun düzeldi.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Rica ederiz , iyi çalışmalar.
 
Üst