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..
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2021 Excel Tr
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
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
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.
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2021 Excel Tr
Koddaki
Kod:
ListBox2.ListIndex = -1
ifadesini,
Kod:
ListBox2.ListCount = 0
şeklinde değiştirmelisiniz.
 
Son düzenleme:
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
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.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
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.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
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.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
...Çö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.
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Say&#305;n Leventm;

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