Listbox içinde harfleri içeren şeklinde arama

burcin_end_muh

Altın Üye
Katılım
14 Ocak 2013
Mesajlar
161
Excel Vers. ve Dili
Türkçe 2013
Altın Üyelik Bitiş Tarihi
05-01-2028
Merhabalar,

arattığımda şöyle bir dosya buldum istediğim kısımlarını kendim revize ettim ama eklemek istediğim bir konu var.
listede "mert" kelimesi olsun arama çubuğuna "ert" yazdığımda gelmesini istiyorum
Aramanın *ile başlayan kuralıyla değil, *içeren şeklinde yapılmasını istiyorum.

Değerli zamanınız için şimdiden teşekkürler.
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
C++:
Set k = Range("A2:A" & sonsat).Find("*" & TextBox1.Value & "*", , xlValues, xlWhole)
.
 

burcin_end_muh

Altın Üye
Katılım
14 Ocak 2013
Mesajlar
161
Excel Vers. ve Dili
Türkçe 2013
Altın Üyelik Bitiş Tarihi
05-01-2028
çok teşekkür ederim.
ek birşey daha sormak istiyorum.
Listbox içerisinde mouse scroll çalışması için çok teferruatlı bir kod var onu uyarlamak istedim ama "declare" komutlarında hata verdi.
32bit veya 64bit olmasıyla alakalı sanırım.

Listbox içerisinde mouse scroll çalışması için her kullanıcıda sorunsuz çalışacak bir kod var mı?
 

relaxim

Altın Üye
Katılım
30 Ağustos 2009
Mesajlar
538
Excel Vers. ve Dili
Ofis 2016 Tr 64 bit
Altın Üyelik Bitiş Tarihi
15.06.2027
çok teşekkür ederim.
ek birşey daha sormak istiyorum.
Listbox içerisinde mouse scroll çalışması için çok teferruatlı bir kod var onu uyarlamak istedim ama "declare" komutlarında hata verdi.
32bit veya 64bit olmasıyla alakalı sanırım.

Listbox içerisinde mouse scroll çalışması için her kullanıcıda sorunsuz çalışacak bir kod var mı?
Merhaba,

PtrSafe yazmayı denediniz mi?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
......
....

Listbox içerisinde mouse scroll çalışması için her kullanıcıda sorunsuz çalışacak bir kod var mı?

Bu konuda aşağıdaki linkte @Orion1 'in çok kıymetli bir mesajı vardır. İncelemenizi öneririm....


.
 

burcin_end_muh

Altın Üye
Katılım
14 Ocak 2013
Mesajlar
161
Excel Vers. ve Dili
Türkçe 2013
Altın Üyelik Bitiş Tarihi
05-01-2028
Bu konuda aşağıdaki linkte @Orion1 'in çok kıymetli bir mesajı vardır. İncelemenizi öneririm....


.
teşekkür ederim, inceleyeceğim
 

burcin_end_muh

Altın Üye
Katılım
14 Ocak 2013
Mesajlar
161
Excel Vers. ve Dili
Türkçe 2013
Altın Üyelik Bitiş Tarihi
05-01-2028
yine bir ekleme yapmak istiyorum,
listelenen kelimeler sığmıyor sebebi nedir?
227700
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
ListBox nesnesinin sütun genişliğini ayarlamanız gerekiyor.

ListBox1.ColumnWidths = "250"
 
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
Benimde çalıştığım bir listem var burada UserForm kullanarak daha önce yazdığım şeyleri tekrar
yazmamak için açılan listeden baş harfi veya baştan birkaç harfi girerek arattırma yapıp çift tıklayarak
hücreye yazdırıyorum.
Eğer, en üstte arkadaşın dediği gibi baş harfe bağlı oılmadan ve büyük küçük harfe bağlı kalmadan
aradan bir kaç harfle arama yapabilmek için aşağıda verdiğim Kod'a nasıl bir ilave yapmam gerekir.
Yardımcı olacaklara şimdiden teşekkürler.

Kod:
Private Sub CommandButton1_Click()

    If ActiveCell = "" Then
        ActiveCell.Offset(-1, 0).Copy ActiveCell
    End If
    
    Unload Me
    
End Sub

Private Sub UserForm_Initialize()

    Dim i As Long, d

    Form_Duzen
    
    ListView1.ColumnHeaders.Add , , Sheets("Sayfa1").Range("B1"), 205
    
    Set d = CreateObject("System.Collections.ArrayList")
    
    With Sheets("Sayfa1")
        For i = 3 To .Cells(Rows.Count, "B").End(xlUp).Row
            If WorksheetFunction.CountIf(.Range(.Cells(3, "B"), .Cells(i, "B")), _
                .Cells(i, "B")) = 1 Then
                d.Add .Cells(i, "B").Value
            End If
        Next i
    End With

    d.Sort
          
    For i = 0 To d.Count - 1
        ListView1.ListItems.Add , , d(i)
    Next i
    
    CommandButton1.Cancel = True

End Sub

Private Sub Form_Duzen()

    With ListView1
        .ListItems.Clear
        .View = lvwReport
        .FullRowSelect = True
        .Gridlines = True
   End With
  
End Sub


Private Sub TextBox1_Change()

    Dim deg1 As String, deg2 As String, i As Long, d
        
    Set d = CreateObject("System.Collections.ArrayList")
    
    With Sheets("Sayfa1")
        For i = 3 To .Cells(Rows.Count, "B").End(xlUp).Row
            deg1 = UCase(Replace(Replace(TextBox1.Text, "ı", "I"), "i", "İ"))
            deg2 = UCase(Replace(Replace(.Cells(i, "B"), "ı", "I"), "i", "İ"))
            If WorksheetFunction.CountIf(.Range(.Cells(3, "B"), .Cells(i, "B")), _
                .Cells(i, "B")) = 1 And deg2 Like deg1 & "*" Then
                d.Add .Cells(i, "B").Value
            End If
        Next i
    End With

    Form_Duzen
    
    d.Sort
    
    For i = 0 To d.Count - 1
        ListView1.ListItems.Add , , d(i)
    Next i

End Sub

Private Sub ListView1_DblClick()

    Dim Veri As Variant
    
    On Error GoTo son
    
    Veri = ListView1.ListItems(ListView1.SelectedItem.Index).Text
    
    Sheets("Sayfa1").Cells(ActiveCell.Row, "B") = Veri
    
son:

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Şu satırı,

.Cells(i, "B")) = 1 And deg2 Like deg1 & "*" Then

Aşağıdaki gibi değiştirip deneyiniz.

.Cells(i, "B")) = 1 And deg2 Like "*" & deg1 & "*" Then
 
Katılım
9 Ocak 2011
Mesajlar
354
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-07-2023
Şu satırı,

.Cells(i, "B")) = 1 And deg2 Like deg1 & "*" Then

Aşağıdaki gibi değiştirip deneyiniz.

.Cells(i, "B")) = 1 And deg2 Like "*" & deg1 & "*" Then
Evet hocam oldu gayet güzel istediğim gibi çalıştı. Çok teşekkür ederim.
Emeğinize sağlık.
 
Katılım
9 Ocak 2011
Mesajlar
354
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-07-2023
Korhan Hocam tekrar merhaba
Kodu başka bir listede kullanmak istediğimde herşey aynı olmasına rağmen
ListView de yazılar Liste halinde değilde kutu kutu görünüyor sebebi hakkında yardımcı olmanız mümkünmü.

22889522889612-07-2021 15-11-32.jpg12-07-2021 15-12-46.jpg
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Userformun initialize olayına.
Kod:
Private Sub UserForm_Initialize()
ListView1.View = lvwReport
 
Katılım
9 Ocak 2011
Mesajlar
354
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-07-2023
Userformun initialize olayına.
Kod:
Private Sub UserForm_Initialize()
ListView1.View = lvwReport
Merhaba
İlginiz için Teşekkürler
Esasında Object Özelliklerinde View > lvwReport seçimini denemiştim olmamıştı.

Şimdi verdiğiniz kodu ekledim ama View biraz fazla oldu galiba List hiç açılmadı..

Kod:
Private Sub Form_Duzen()

    With ListView1
        .ListItems.Clear
        .View = lvwReport
        .FullRowSelect = True
        .Gridlines = True
        .ListView1.View = lvwReport
   End With
  
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
2 tane view olmuş.
Teke indirin.
Ayrıca ben kodları initialize bölümüne yazın demiştim.
Konu ile ilgili kodları oradan silin ve initialize olayına yazın.
 
Katılım
9 Ocak 2011
Mesajlar
354
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-07-2023
2 tane view olmuş.
Teke indirin.
Ayrıca ben kodları initialize bölümüne yazın demiştim.
Konu ile ilgili kodları oradan silin ve initialize olayına yazın.
Önce initializeye ekledim hata verdi acaba yanlış satıramı ekledim bilemedim.
sonra bu şekilde denedim açmadı.
Kod:
Private Sub UserForm_Initialize()

    Dim i As Long, d

    Form_Duzen
    
    ListView1.View = lvwReport
    ListView1.ColumnHeaders.Add , , Sheets("KasaHesap").Range("B1"), 270
    
    Set d = CreateObject("System.Collections.ArrayList")
    
    With Sheets("KasaHesap")
        For i = 3 To .Cells(Rows.Count, "B").End(xlUp).Row
            If WorksheetFunction.CountIf(.Range(.Cells(3, "B"), .Cells(i, "B")), _
                .Cells(i, "B")) = 1 Then
                d.Add .Cells(i, "B").Value
            End If
        Next i
    End With

    d.Sort
          
    For i = 0 To d.Count - 1
        ListView1.ListItems.Add , , d(i)
    Next i
    
    CommandButton1.Cancel = True
    
End Sub
 
Katılım
9 Ocak 2011
Mesajlar
354
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-07-2023
Böyle Sizide uğraştırıyorum dosyayı ekleyeyim daha rahat inceleyebilirsiniz.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Listview nesnesini silin,toolboxtan tekrardan ekleyiniz.
 
Üst