Skip to main content

AccessTr.neT


Listboxda Sayfa İsimlerini Filtreleme

Listboxda Sayfa İsimlerini Filtreleme

Çözüldü #1
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.
.rar Per-Tak.rar (Dosya Boyutu: 296,79 KB | İndirme Sayısı: 4)
Cevapla
#2
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.
Cevapla
#3
Teşekkürler Hocam ellerinize sağlık. 
Hocam @feraz Hocamın 11. mesajındaki kodu uyguladım sorunum hal oldu.

@feraz Hocamı da kutluyorum destek elemanı olduğu için. 

Hocam konuyu taşıyabilirsiniz. Saygılarımla.
Cevapla
#4
dilerim aşağıdaki kodlar işinize yarar
modül başlangıcına eklenecek kodlar
Option Compare Text
Const Ekleme As String = "|ŞABLON|Sayfa1|liste|"
UserForm_Initialize kodu
Private 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 kodu
Private 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 fonksiyonu
Sub 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
Cevapla
#5
Çok Teşekkürler Hocam ellerinize sağlık. 

Hocam konuyu taşıyabilirsiniz. Saygılarımla.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da