08/05/2020, 22:44
ComboBoxda Sayfaları Göstermek
08/05/2020, 22:49
m_demir
Hocam Yanlış yazmışım kusuruma bakmayın. ComboBox1 de girdiğiniz harfe göre sadece ilgili sayfaların adlarını ListBox1 listelesin.
09/05/2020, 00:18
feraz
Sizin alttaki gibi kodlarınız var.Bununla UserForm1 açtırılıyor.
Yani tam olarak ne yapmak istiyorsunuz,alttaki kod silinecekmi mesela.
Yani tam olarak ne yapmak istiyorsunuz,alttaki kod silinecekmi mesela.
Private Sub ComboBox1_Change()
On Error Resume Next
Sheets(ComboBox1.Text).Select
Unload UserForm2
UserForm1.Show
End Sub
09/05/2020, 00:28
m_demir
Hocam aşağıdaki kodlardan silinmesi gereken kodları sil ComboBox1 e veri girdiğim zaman UserForm1 açılmasın.
ComboBox1 harfe göre girdiğimiz sayfa isleri ListBox1 sıralansın.
Zaten LİstBox1 e çift tıkladığım zaman UserForm1 açılıyor.
ComboBox1 harfe göre girdiğimiz sayfa isleri ListBox1 sıralansın.
Zaten LİstBox1 e çift tıkladığım zaman UserForm1 açılıyor.
09/05/2020, 01:01
feraz
Berduş hocamızın ekleme kodundan devam edilimiştir.
İsterseniz önceki yazdığım kodlada ayarlanabilir atnı mantıkla.
Buda benim yaptığım kodla.Tabii sayfa asları aynı olmalı.Normalde Lcase felan yazılabilir lakin gerek yok.
İsterseniz önceki yazdığım kodlada ayarlanabilir atnı mantıkla.
Private Sub ComboBox1_Change()
Dim syf As Worksheet, k As Byte
Dim Ekleme As String
Me.ListBox1.Clear
istenmeyen = Array("", "ÞABLON", "Sayfa1", "liste")
For k = 1 To UBound(istenmeyen, 1)
Ekleme = Ekleme & "|" & istenmeyen(k) & "|"
Next k
For Each syf In Worksheets
If InStr(1, Ekleme, "|" & syf.Name & "|", 1) = 0 Then
If LCase(syf.Name) Like "*" & LCase(Me.ComboBox1.Value) & "*" Then Me.ListBox1.AddItem syf.Name
End If
Next syf
If Me.ComboBox1.Value = Empty Then Me.ListBox1.Clear
Set syf = Nothing
End Sub
Buda benim yaptığım kodla.Tabii sayfa asları aynı olmalı.Normalde Lcase felan yazılabilir lakin gerek yok.
Private Sub ComboBox1_Change()
Dim syf As Worksheet
Me.ListBox1.Clear
For Each syf In Worksheets
If syf.Name <> "sayfa1" And syf.Name <> "liste" And syf.Name <> "?ABLON" Then
If LCase(syf.Name) Like "*" & LCase(Me.ComboBox1.Value) & "*" Then Me.ListBox1.AddItem syf.Name
End If
Next syf
If Me.ComboBox1.Value = Empty Then Me.ListBox1.Clear
Set syf = Nothing
End Sub
09/05/2020, 04:10
m_demir
Çok teşekkürler Hocalarım ellerinize sağlık.
Hocam eklediğiniz kodları UserForm2 ye ekledim. ComaBox1 A harfiyle başlayan kelimeleri girdiğimiz zaman ListBox1 de bütün A harfi ile başlayan isimleri listeliyor. A nın dışındaki harflerle başlayan kelimeleri girdiğimiz zaman sadece en üstteki ismi bir adet olarak ListBos1 de gösteriyor. Diğerlerini göstermiyor.
Hocam eklediğiniz kodları UserForm2 ye ekledim. ComaBox1 A harfiyle başlayan kelimeleri girdiğimiz zaman ListBox1 de bütün A harfi ile başlayan isimleri listeliyor. A nın dışındaki harflerle başlayan kelimeleri girdiğimiz zaman sadece en üstteki ismi bir adet olarak ListBos1 de gösteriyor. Diğerlerini göstermiyor.