• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Listboxta genel sezgisel arama

Katılım
18 Temmuz 2012
Mesajlar
15
Excel Vers. ve Dili
C# VB
Merhabalar,

Bir form düzenlendim önce içeriğini anlatayım sonra ne yapmak istediğimi olabilir mi bilmiyorum çok araştırdım bulmadım çünkü,
Userform1

Formda Combobox1' içinde aylar bulunmakta bu aylar aşağıda kayıt sayfası olarak açıldı.
Combobox1 seçtiğim ay' sayfasına texboxlardan veri kaydedip günceleyebiliyorum.
Ayriyetten combobox'ta açtığım ay aşağıda listbox'ta verileri gösteriyor. Arama kutusuna yazdığım yazdığımı bütün listbox'ta arasın ve bana aradığımı göstersin istiyorum
sezgisel arama yapmak istiyorum kısaca;
veya başka türlü bir arama yapabilirmiyim.

Birde listboxa kaydettiğim tarih üsttüne tıkladığımda texboxlara geliyor fakat tarihler 44583 gibi bu şekilde geliyor format yazıyorum fakat yine aynı sorun oluyor nasıl yapabilirim yardımlarınızı bekliyorum teşekkürler.


Kod:
Private Sub CommandButton4_Click()
'güncelleme Butonu
Dim sf As Worksheet
Dim sfname  As String
If ComboBox1 = "" Then MsgBox "Seite nicht gefunden": Exit Sub
sfname = ComboBox1
Set sf = Sheets(sfname)
secili = lstkayitlar.ListIndex + 3
If lstkayitlar.ListIndex = -1 Then MsgBox "Keine Datei gefunden": Exit Sub
sor = MsgBox("Soll die Anfrage aktualisiert werden?", 68, "AKTUALİSİEREN")
If sor = 7 Then Exit Sub
        sf.Range("A" & secili).Value = TextBox1.Value
        sf.Range("B" & secili).Value = TextBox2.Value
        sf.Range("C" & secili).Value = TextBox3.Value
        sf.Range("D" & secili).Value = TextBox4.Value
        sf.Range("E" & secili).Value = TextBox5.Value
        sf.Range("F" & secili).Value = TextBox6.Value
        sf.Range("G" & secili).Value = TextBox7.Value

Kayitlistele

End Sub


Private Sub ComboBox1_Change()
TextBox1.SetFocus

lblTitle.Caption = " KFZ Miete " & ComboBox1.Value
Kayitlistele
End Sub

Sub Kayitlistele()

Dim ds As Long
If ComboBox1.Value = Empty Then Exit Sub

ds = Sheets(ComboBox1.Value).Range("A200000").End(xlUp).Row
lstkayitlar.ColumnCount = 7
lstkayitlar.ColumnWidths = "100;80;80;80;80;80;80"
lstkayitlar.ColumnHeads = True
X = 0
For i = 1 To Worksheets.Count
    X = X + 1
    If InStr(Worksheets(i).Name, ComboBox1.Value) > 0 Then
        Exit For
    End If
Next i
shname = Worksheets(X).Name
lstkayitlar.RowSource = "'" & shname & "'!" & "A3:G" & ds + 1

End Sub

Private Sub CommandButton1_Click()
    Dim sor As Byte
    Dim ds As Long
    
    If ComboBox1.ListIndex < 0 Or TextBox1.Value = "" Or TextBox2.Value = "" Or TextBox3.Value = "" Or TextBox4.Value = "" Then
        frmMesaj.lblMesaj.Caption = "Fehlende Informationen. Bitte prüfen!!"
        frmMesaj.Show
        Exit Sub
End If
    ds = Sheets(ComboBox1.Value).Range("A200000").End(xlUp).Row
    
    sor = MsgBox("soll die anfrage gespeichert werden ?", 68, "SPEİCHERN")
    If sor = 7 Then Exit Sub
        Sheets(ComboBox1.Value).Range("A" & ds + 1).Value = TextBox1.Value
        Sheets(ComboBox1.Value).Range("B" & ds + 1).Value = TextBox2.Value
        Sheets(ComboBox1.Value).Range("C" & ds + 1).Value = TextBox3.Value
        Sheets(ComboBox1.Value).Range("D" & ds + 1).Value = TextBox4.Value
        Sheets(ComboBox1.Value).Range("E" & ds + 1).Value = TextBox5.Value
        Sheets(ComboBox1.Value).Range("F" & ds + 1).Value = TextBox6.Value
        Sheets(ComboBox1.Value).Range("G" & ds + 1).Value = TextBox7.Value
End Sub


Private Sub lstkayitlar_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If lstkayitlar.ListIndex < 0 Then Exit Sub
For a = 0 To 6
Controls("TextBox" & a + 1) = lstkayitlar.Column(a)
Next
sat = lstkayitlar.ListIndex + 2
End Sub


Private Sub UserForm_Initialize()
sayfaktar
End Sub

Private Sub sayfaktar()
Dim X As Integer

For X = 2 To Sheets.Count
    ComboBox1.AddItem (Sheets(X).Name)
Next

End Sub
 

Ekli dosyalar

Birde listboxa kaydettiğim tarih üsttüne tıkladığımda texboxlara geliyor fakat tarihler 44583 gibi bu şekilde geliyor format yazıyorum fakat yine aynı sorun oluyor nasıl yapabilirim yardımlarınızı bekliyorum teşekkürler.

Yukarıdaki sorunuz için ilgili kodu aşağıdaki ile değiştirin. İlk sorunuz için arama kriterlerini yazmamışsınız. Yani arama tüm sayfalarda ve hangi sütunlarda yapılacaktır.

Kod:
Private Sub lstkayitlar_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

If lstkayitlar.ListIndex < 0 Then Exit Sub

For a = 0 To 6

If a = 3 Or a = 4 Then
Controls("TextBox" & a + 1) = Format(lstkayitlar.Column(a), "dd.mm.yyyy")
Else
Controls("TextBox" & a + 1) = lstkayitlar.Column(a)
End If

Next
sat = lstkayitlar.ListIndex + 2

End Sub
 
Yukarıdaki sorunuz için ilgili kodu aşağıdaki ile değiştirin. İlk sorunuz için arama kriterlerini yazmamışsınız. Yani arama tüm sayfalarda ve hangi sütunlarda yapılacaktır.

Kod:
Private Sub lstkayitlar_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

If lstkayitlar.ListIndex < 0 Then Exit Sub

For a = 0 To 6

If a = 3 Or a = 4 Then
Controls("TextBox" & a + 1) = Format(lstkayitlar.Column(a), "dd.mm.yyyy")
Else
Controls("TextBox" & a + 1) = lstkayitlar.Column(a)
End If

Next
sat = lstkayitlar.ListIndex + 2

End Sub

Verdiğiniz yanıt için teşekkür ederim. 1 ve 2.ci sütunlarda yapılacak arama,
 
Geri
Üst