Tüm UserFormlarda MsgBox çıkıyor

Katılım
20 Temmuz 2006
Mesajlar
171
Excel Vers. ve Dili
Office 2016 Tr
Merhaba,

4 adet UserForm var ve hepsinde Listbox var.
UserForm'ların initialize bölümlerinde;

If ListBox1.ListCount < 1 Then
MsgBox "Kayıt yok"
End If

şeklinde MsgBox kodları var. İlgili UserForm açıldığında o UserForm üzerindeki ListBox ta kayıt yok ise bildirmesini istiyorum.

A UserForm'u açıldığında A UserFormu üzerindeki ListBox'ta kayıt yok ise, A UserForm'u initialize kısmına yazdığım MsgBox
B UserForm'u açıldığında B UserFormu üzerindeki ListBox'ta kayıt yok ise, B UserForm'u initialize kısmına yazdığım MsgBox
...... şeklinde.

Ancak herhangi bir UserForm'daki ListBox'ta kayıt sayısı 0 olduğunda herhangi bir UserForm açıldığında kayıt olmayan UserForm üzerindeki MsgBox çıkıyor.

Neden olabilir acaba.

If UserForm1.ListBox1.ListCount < 1 Then
MsgBox "Kayıt yok"
End If

şeklinde de denedim, farketmedi.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba

Userforma verileri almadan önce bu şart koymuş olabilir misiniz.?

Ekte örnek mevcut, bahsettiğiniz hata yok. Form3 boş diğerleri dolu. Sadece boş olan mesaj veriyor.

 

Ekli dosyalar

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Deneyiniz.
Kod:
Private Sub UserForm_Initialize()
If Me.ListBox1.ListCount < 1 Then
MsgBox Me.Name & " kayıt yok"
End If
End Sub
 
Katılım
20 Temmuz 2006
Mesajlar
171
Excel Vers. ve Dili
Office 2016 Tr
Merhaba

Userforma verileri almadan önce bu şart koymuş olabilir misiniz.?

Ekte örnek mevcut, bahsettiğiniz hata yok. Form3 boş diğerleri dolu. Sadece boş olan mesaj veriyor.

Sayın Ömer bey,
Ana Menünün olduğu bir UserForm var, ondan diğer 4 UserForm'a CommandButton'lar ile geçiyorum.
1 nolu UserForm'a tıkladığımda, eğer 2,3 veya 4 nolu UserForm üzerindeki ListBoxların biri boş ise mesaj veriyor ve döngü sonlanmıyor. MsgBox tamama basınca gitmiyor.

Şartları UserFormlar'ın initialize kısmının sonuna, üzerindeki ListBox'lar yüklendikten sonrasına yazdım.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Örnek ekleyebilir misiniz.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodları "Initialize" değil aşağıdaki gibi "Activate" yazarak deneyiniz.
Kod:
Private Sub UserForm_Activate()
    If ListBox1.ListCount < 1 Then
        MsgBox "Kayıt yok"
    End If
End Sub
 
Katılım
20 Temmuz 2006
Mesajlar
171
Excel Vers. ve Dili
Office 2016 Tr
Kodları "Initialize" değil aşağıdaki gibi "Activate" yazarak deneyiniz.
Kod:
Private Sub UserForm_Activate()
    If ListBox1.ListCount < 1 Then
        MsgBox "Kayıt yok"
    End If
End Sub
Ömer bey çok teşekkür ederim. Dün gece yarısına kadar uğraştım. Çok şükür.
 
Üst