Merhaba Arkadaşlar.
Eklediğim Excel uygulamasında Feraz ve Berduş Hocalarımın yazdığı kodlarla ComboBox1 ve girdiğim ilk har ile ListBox1 kişileri filtreliyordum.
ComboBox1 silip yerine TextBox1 ekledim ve TextBox1 e girdiğim harfe göre değil, TextBox1e girdiğim kelime ile baştan sona kadar arama yapsın. ListBox1 de filtreleme yapsın.
Bu konuda yardımlarınıza ihtiyacım var. Saygılarımla.
Listboxda Sayfa İsimlerini Filtreleme
Bir önceki konunuzda @feraz beyin 11. mesajindaki kod işinize yaramıyor mu?
Ayrıca eklediğiniz örnekte sorgu kullanılan çalışmanın kodu var ama eklediğiniz calismada ilgili kodun ihtiyaci olan TmpSilme sayfası eklenmemiş. Hangi yapıyı kullanmak istiyorsunuz? O konudaki Örnek çalışmaları indirip inceleyerek hangisinin size uygun olduğuna karar vermelisiniz.
Ayrıca eklediğiniz örnekte sorgu kullanılan çalışmanın kodu var ama eklediğiniz calismada ilgili kodun ihtiyaci olan TmpSilme sayfası eklenmemiş. Hangi yapıyı kullanmak istiyorsunuz? O konudaki Örnek çalışmaları indirip inceleyerek hangisinin size uygun olduğuna karar vermelisiniz.
dilerim aşağıdaki kodlar işinize yarar
modül başlangıcına eklenecek kodlar
modül başlangıcına eklenecek kodlar
Option Compare Text
Const Ekleme As String = "|ŞABLON|Sayfa1|liste|"
UserForm_Initialize koduPrivate Sub UserForm_Initialize()
Dim syf As Worksheet, k As Byte
Me.ListBox1.Clear
'ListBox veri ekle'
For Each syf In Worksheets
If InStr(1, Ekleme, "|" & syf.Name & "|", 1) = 0 Then ListBox1.AddItem syf.Name
Next syf
listeSirala
End Sub
TextBox1_Change koduPrivate Sub TextBox1_Change()
Dim syf As Worksheet, k As Byte
Me.ListBox1.Clear
For Each syf In Worksheets
'ListBox daki listeyi görüntüleme'
' If InStr(1, Ekleme, "|" & syf.Name & "|", 1) = 0 And InStr(1, syf.Name, Me.TextBox1.Text) > 0 Then ListBox1.AddItem syf.Name
If InStr(1, Ekleme, "|" & syf.Name & "|", 1) = 0 And syf.Name Like "*" & Me.TextBox1.Text & "*" Then ListBox1.AddItem syf.Name
Next syf
listeSirala
End Sub
Sıralama fonksiyonuSub listeSirala()
Dim vaItems As Variant
Dim i As Long, j As Long
Dim vTemp As Variant
'Put the items in a variant array
vaItems = Me.ListBox1.List
'Steal code from John Walkenbach’s Excel Power Programming
'with Vba to sort the array
For i = LBound(vaItems, 1) To UBound(vaItems, 1) - 1
For j = i + 1 To UBound(vaItems, 1)
If vaItems(i, 0) > vaItems(j, 0) Then
vTemp = vaItems(i, 0)
vaItems(i, 0) = vaItems(j, 0)
vaItems(j, 0) = vTemp
End If
Next j
Next i
'Clear the listbox
Me.ListBox1.Clear
'Add the sorted array back to the listbox
For i = LBound(vaItems, 1) To UBound(vaItems, 1)
Me.ListBox1.AddItem vaItems(i, 0)
Next i
End Sub
Çok Teşekkürler Hocam ellerinize sağlık.
Hocam konuyu taşıyabilirsiniz. Saygılarımla.
Hocam konuyu taşıyabilirsiniz. Saygılarımla.
Konuyu Okuyanlar: 1 Ziyaretçi