• DİKKAT

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

ListBoxta veri seçili değilse, kod çalışmasın

Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Merhaba;

Kod:
Private Sub CommandButton15_Click()
On Error Resume Next
 
sor = MsgBox("Silmek istediğinizden eminmisiniz?", vbYesNo)
If sor = vbNo Then Exit Sub
Range(Cells(ListBox2.ListIndex + 16, "n"), Cells(ListBox2.ListIndex + 16, "v")).Delete
Cells(ListBox2.ListIndex + 17, "M").Clear
End Sub

Koduyla ListBoxtan seçilen veriyi siliyorum.

ListBoxta veri yoksa, ya da seçilen satırda veri yoksa "Veriyi Listeden Tıklayarak Seçiniz..." şeklinde mesaj çıkması ve silme işlemi yapmaması, ancak ListBoxtan dolu olan satır seçilirse işlem yapması için, kodda ne gibi değişiklik gerekir.

Şimdiden Teşekkürler..
 
Kod:
If ListBox2.ListIndex = -1 Then
MsgBox "Üzgünüm seçili veri yok"
Else
On Error Resume Next
sor = MsgBox("Silmek istediğinizden eminmisiniz?", vbYesNo)
If sor = vbNo Then Exit Sub
Range(Cells(ListBox2.ListIndex + 16, "n"), Cells(ListBox2.ListIndex + 16, "v")).Delete
Cells(ListBox2.ListIndex + 17, "M").Clear
End If
 
Sayın Mahmut hocam;

ListBox2 de veri olmadığı halde, yine eskisi gibi.
Yani "Veri yok" mesajı çıkmıyor. Direk "silmek ister misin "mesajı çıkıyor.
 
Koddaki
Kod:
ListBox2.ListIndex = -1
ifadesini,
Kod:
ListBox2.ListCount = 0
şeklinde değiştirmelisiniz.
 
Son düzenleme:
Dosyamı etke sunuyorum.

(Sorun verilerin A sütunu değil de M sütunundan başlmasından kaynaklanıyor. A sütununda olsa idi, sayın Leventm'in "veriyönetimi" adlı örneğinden faydalanarak yapabilirdim.)

Sorunları dosyada açıkladım.

Yardımlarınıza şimdiden teşekkürler.
 
Sil butonuna aşağıdaki kodu kopyalayın.

Kod:
Private Sub CommandButton15_Click()
On Error Resume Next
If ListBox2.ListIndex = -1 Then
MsgBox "Üzgünüm seçili veri yok"
Else
sor = MsgBox("Silmek istediğinizden eminmisiniz?", vbYesNo)
If sor = vbNo Then Exit Sub
Range(Cells(ListBox2.ListIndex + 16, "n"), Cells(ListBox2.ListIndex + 16, "v")).Delete
[m65536].End(3).Delete
End If
End Sub

Listboxa boş satırları yüklememek içinde userforma yazılı olaydaki kodu aşağıdaki ile değiştirin.

Kod:
Private Sub UserForm_Activate()
ListBox2.RowSource = "verigir!M16:V" & [v65536].End(3).Row
ListBox2.ColumnCount = 10
ListBox2.ColumnWidths = "40;80;70;100;0;70;0;90;50;60"
End Sub
 
Merhaba,

Userformda, ListBoxtan veri seçilip silindiğinde, 1 satır veri olduğundan veri siliniyor ve sütun başları görünmüyor.UserForm kapatılıp açıldığında ise, (Görünmemesi gerekirken) sütun başları gözüküyor.

Dosyayı bir incelerseniz sevinirim.
 
Userform_activate olayındaki kodu aşağıdaki ile değiştirin.

Kod:
Private Sub UserForm_Activate()
If [verigir!m16] <> "" Then ListBox2.RowSource = "verigir!M16:V" & [v65536].End(3).Row
ListBox2.ColumnCount = 10
ListBox2.ColumnWidths = "40;80;70;100;0;70;0;90;50;60"
End Sub
 
Say&#305;n Levent bey;

Evet. Sayenizde Sorun &#231;&#246;z&#252;ld&#252;.

&#199;&#246;z&#252;m&#252;n&#252;zden &#246;nce ,veri olmad&#305;&#287;&#305; halde, listboxta RowSource 16 sat&#305;rdan itibaren g&#246;z&#252;kmesi gerekirken niye 15 sat&#305;r&#305;n g&#246;z&#252;kt&#252;&#287;&#252;n&#252; anlayamad&#305;m.

Selamlar.
 
...Çözümünüzden önce ,veri olmadığı halde, listboxta RowSource 16 satırdan itibaren gözükmesi gerekirken niye 15 satırın gözüktüğünü anlayamadım.....

Çünkü, rowsource veri yüklerken kullanılan [v65536].End(3).Row komutu son satır olarak 15'i buluyor.
 
Say&#305;n Leventm;

A&#231;&#305;klaman&#305;za &#231;ok te&#351;ekk&#252;rler.
 
Geri
Üst