Skip to main content

AccessTr.neT


ComboBoxda Sayfaları Göstermek

ComboBoxda Sayfaları Göstermek

#7
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?
Cevapla
#8
Hocam Yanlış yazmışım kusuruma bakmayın. ComboBox1 de girdiğiniz harfe göre sadece ilgili sayfaların adlarını ListBox1 listelesin.
Son Düzenleme: 08/05/2020, 23:09, Düzenleyen: m_demir.
Cevapla
#9
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
Cevapla
#10
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.
Son Düzenleme: 09/05/2020, 00:32, Düzenleyen: m_demir.
Cevapla
#11
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
Cevapla
#12
Ç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.
.rar Per-7.rar (Dosya Boyutu: 280,01 KB | İndirme Sayısı: 5)
Son Düzenleme: 09/05/2020, 04:19, Düzenleyen: m_demir.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da