AccessTr.neT
ComboBoxda Sayfaları Göstermek - 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ığı: ComboBoxda Sayfaları Göstermek (/konu-comboboxda-sayfalari-gostermek.html)

Sayfalar: 1 2 3 4 5 6 7 8 9


RE: ComboBoxda Sayfaları Göstermek - berduş - 08/05/2020

kastettiğiniz şeyi biraz daha açıklar mısınız?
odaklanınca liste açılsın mı istiyorsunuz yoksa girdiğiniz harfe göre sadece ilgili sayfaların adı mı listeye alınsın?


RE: ComboBoxda Sayfaları Göstermek - m_demir - 08/05/2020

Hocam Yanlış yazmışım kusuruma bakmayın. ComboBox1 de girdiğiniz harfe göre sadece ilgili sayfaların adlarını ListBox1 listelesin.


RE: ComboBoxda Sayfaları Göstermek - feraz - 09/05/2020

Sizin alttaki gibi kodlarınız var.Bununla UserForm1 açtırılıyor.
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



RE: ComboBoxda Sayfaları Göstermek - m_demir - 09/05/2020

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.


RE: ComboBoxda Sayfaları Göstermek - feraz - 09/05/2020

Berduş hocamızın ekleme kodundan devam edilimiştir.
İ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



Re: Comboboxda Sayfaları Göstermek - m_demir - 09/05/2020

Ç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.