• DİKKAT

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

Listboxta Çift Tıklama-Click olayı, Veri değiştirme, Veri seçme

Katılım
28 Mayıs 2007
Mesajlar
63
Excel Vers. ve Dili
2010 tr
iyi çalışmalar.
1-Ekte gönderdiğim çalışmada combobox'ta seçtiğim sayfanın verileri listbox'a geliyor. Listbox'ta sadece arama kodunda belirtilen sayfada arama yapılıyor. Combobox'tan seçtiğim sayfada da arama yapılması sağlanabilir mi?
2-Textbox'lara listbox'a çift tıklama ile veri alıyor. Bu şekilde "Değiştir" komutu çalışıyor. "Click" olayı ile veri aldığımızda "Değiştir" komutu çalışmıyor yani verileri değiştirmiyor. Click olayı ile textboxlara veri alıp bu şekilde "Değiştir" komututunun çalışması sağlanabilir mi?
3-Yine arama yapılıp bulunan veri çift tıklama ile seçildiğinde alakası olmayan veriler textboxlara geliyor. Seçimin click olayı ile yapılması ve seçilen veri ile textboxlara gelen verinin aynı olması sağlanabilir mi? Teşekkürler.
 

Ekli dosyalar

Son düzenleme:
Birinci sorunuz,

Kod:
Private Sub TextBox25_Change() 'VERI ARAMA'
Dim k As Range, adrs As String, j As Byte, a, sat As Long
ReDim myarr(1 To 8, 1 To 1)
If TextBox25.Text = "" Then
sat = ActiveSheet.Cells(65536, "A").End(xlUp).Row
ListBox1.RowSource = ComboBox1.Text & "!a2:h" & sat
Exit Sub
End If
Set s1 = Sheets("" & ComboBox1)
With s1
    ListBox1.RowSource = ""
    If .FilterMode Then .ShowAllData
    Set k = .Range("a2:h65536").Find(TextBox25.Text & "*", , xlValues, xlWhole)
    If Not k Is Nothing Then
        adrs = k.Address
        Do
            a = a + 1
            ReDim Preserve myarr(1 To 8, 1 To a)
            For j = 1 To 8
                myarr(j, a) = .Cells(k.Row, j + 1).Value
            Next j
            Set k = s1.Range("a2:h65536").FindNext(k)
        Loop While Not k Is Nothing And k.Address <> adrs
        ListBox1.Column = myarr
    End If
End With
End Sub

ikinci ve üçüncü sorunuz için,

Kod:
Private Sub ListBox1_Click()
Set s1 = Sheets("" & ComboBox1)
d = ListBox1.ListIndex + 2
If d < 2 Then Exit Sub
For i = 1 To 5
Controls("textBox" & i).Text = s1.Cells(d, i + 1).Value
ListBox1.ColumnWidths = "20,45,25,100,100,100"
Next
End Sub

Not: Değiştir ve diğer kodlardaki activesheet yerine yukarıdaki gibi bir mantık kullanın.
 
Sayın Menteşoğlu,
cevabınız için teşekkürler.
1-Veri arama kodları çalıştı. Ancak Veri aramada süzülen ve listboxta bulunan veri üzerine tıklama yapınca bulunan veri ile ilgili bilgiler textboxlara yüklenmiyor. Mesela sayfa1 de 1009 biçiminde yaptığımız bir aramada 1009'un olduğu veri listbox'a geliyor, üzerine tıklayınca 1002 sayılı veri textboxlara yükleniyor. Bu sebeple değişiklik yapmak isteyince değiştirmek istediğimiz veri textboxlarda yüklü olmadığı için değişiklik yapılamıyor.

2-Yine listbox'a tıklama ile textboxlara gelen veri üzerinde "değiştir" komutunu çalıştıramadım. Kodlarınızı uyguladım ancak _benden kaynaklanan bir hata olabilir- çalıştıramadım.

Bu hatalara bir çözüm bulabilirseniz sevinirim. Eğer mümkün değilse konuyu kapatabilirsiniz. İyi çalışmalar.

En son düzenlenmiş haliyle program 1. mesajda güncellendi.
 
Son düzenleme:
Geri
Üst