• DİKKAT

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

ListBox'a veri girişi..

Katılım
22 Haziran 2005
Mesajlar
120
Ek'teki dosya ile ilgili yardımlarınızı bekliyorum. Açıklama uzun olduğu için dosya içindedir. Forumdaki herkese iyi akşamlar,teşekkürler.
 
Sayın Leventm, çok güzel olmuş. Elinize sağlık.Yalnız biraz revizyon gerek.

1) Mesela kayıt sil butonu 3:13 satırları arasını değilde, 15:65536 satırları arasındaki kayıtlardan silmesi için kodun

Private Sub CommandButton2_Click()
On Error GoTo 65521
Rows([b15:b65536].Find(ListBox1.List(ListBox1.ListIndex, 0)).Row).ClearContents
Exit Sub
10 MsgBox "KAYIT BULUNAMADI"
End Sub

olması mı gerekiyor.?

2) Listeye Kod No combobox kriteri hariç ( Kod numarası benzersiz olacağından) diğer kriterlerden benzer (örnek: sadece aynı isim) olanların hepsi nasıl
listelendirilir.

Bu örnekler öğrenme heyecanımı arttırıyor. Verdiğin emek için teşekkürler.
 
1-Kayıt sil butonu sadece listboxtan seçilen tek bir kayıtı silmektedir. Tamamını silmek isterseniz bu durumda [d3:f65536].clearcontents yazmak yeterlidir. Fakat bu durumda 13. satırdan sonraki tüm kayıtlarda silinecektir.

2-Bu sorunuzla ilgili bir çalışma yapıp eklerim.
 
1. sorumla ilgili olarak:
Sil butonu ile silinecek satır listbox'tan seçildiğinde, silme işlemi 3 ve 13. satırları arasındaki kayıtlarda gerçekleşiyor. Oysa bu satırlar asıl kayıtların geçici olarak listelendiği yerler olarak düşünülebilir. Asıl kayıtlar (Kayıt Ekle butonuyla eklenen) 15. satırdan başlıyor ve sil butonu silme işlemini bu satırdan aşağıyı tarayarak yaparsa daha iyi olur.
 
Bu durumda kodda yaptığınız değişiklik yerindedir.
 
On Error GoTo 65521

mesajlarınızdan anladığım kadarıyla yukarıda ki kodları kendinize göre uyarlamışsınız ama On Error GoTo 65521 kısmını değiştirmeyeceksiniz burası On Error GoTo 10 olarak kalacak
 
Ok. Teşekkürler. Kodun son hali doğru çalışıyor ama silme işleminden sonra satırların arasında boşluk kalıyor :(
 
Bu durumda clearcontents yerine delete yazın. Bu arada Sn veyselemre'yede uyarısı için teşekkürler bende atlamışım o ayrıntıyı.
 
Merhaba,
aşağıdaki kodu kullanarak, doğrudan listbox`daki verinin üzerine çift tıklayarak silme işlemini gerçekleştirebilirsiniz. Ayrıca ilgili satır tamamen siliniyor ve arada boşluk kalmıyor. Sıra numarasınıda yeniden düzenliyor. Belki işinize yarayabilir. Kolay gelsin.
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Sil = ListBox1.ListIndex + 1
Cevap = MsgBox("SİLMEK İSTEDİÐİNİZDEN EMİNMİSİNİZ!", vbYesNo, "")
If Cevap = vbNo Then Exit Sub
Sheets("sayfa1").Rows(Sil).EntireRow.Delete
say = WorksheetFunction.CountA(Range("C2:C65000"))
For i = 1 To say
Cells(i + 1, 3) = i
Next i
MsgBox "SİLME İÞLEMİ TAMAMLANMIÞTIR!", 16, "UYARI"
ListBox1.Clear
End Sub
 
2.soru için gerekli eklemeler yapıldı.
 
Bu dosya için bir soru da ben sorabilirmiyim .?

Aynı isim kayıtlarının sadece birisi listbox a geliyor.Diğerlerini nasıl getirebiliriz?

:?
 
A sütununda verilerin olsun, listboxta tüm kayıtların gösterilmesi için
[vb:1:e055d397e2]Private Sub UserForm_Initialize()

ListBox1.RowSource = "A1:A" & Cells(65536, 1).End(xlUp).Row
ListBox1.MultiSelect = fmMultiSelectMulti
ListBox1.ListStyle = fmListStyleOption
End Sub[/vb:1:e055d397e2]
 
Geri
Üst