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.
 
Katılım
22 Haziran 2005
Mesajlar
120
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.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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.
 
Katılım
22 Haziran 2005
Mesajlar
120
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.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu durumda kodda yaptığınız değişiklik yerindedir.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
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
 
Katılım
22 Haziran 2005
Mesajlar
120
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 :(
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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ı.
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
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
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
2.soru için gerekli eklemeler yapıldı.
 
Katılım
24 Nisan 2005
Mesajlar
80
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?

:?
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2016 Excel Tr
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]
 
Üst