AccessTr.neT
Listboxda Sayfa İsimlerini Filtreleme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Listboxda Sayfa İsimlerini Filtreleme (/konu-listboxda-sayfa-isimlerini-filtreleme.html)



Listboxda Sayfa İsimlerini Filtreleme - m_demir - 10/05/2020

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.


RE: Listboxda Sayfa İsimlerini Filtreleme - berduş - 10/05/2020

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.


RE: Listboxda Sayfa İsimlerini Filtreleme - m_demir - 11/05/2020

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.


RE: Listboxda Sayfa İsimlerini Filtreleme - berduş - 11/05/2020

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



RE: Listboxda Sayfa İsimlerini Filtreleme - m_demir - 11/05/2020

Çok Teşekkürler Hocam ellerinize sağlık. 

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