Textboxlar boş bırakılamasın

BG

Özel Üye
Katılım
5 Mayıs 2008
Mesajlar
1,380
Excel Vers. ve Dili
Office 2021 TR & EN
örnekte gönderdiğim userform üzerindeki 3 adet textboxın mutlaka doldurulmuş olmasının kontrol edilmesi gerekmektedir. for next döngüsü ile bu problemi nasıl çözebilirim. teşekkür ederim.

örnek: textbox1 dolu fakat textbox2 ve textbox3 boş ise işlem yapılamasın, kısacası hepsinin doldurulmuş olması gereksin,msgbox ile uyarı da alınabilir.
 

Ekli dosyalar

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
Aşağıdaki kodu deneyin.

Kod:
Private Sub CommandButton1_Click()
For a = 1 To 3
If Controls("textbox" & a) = "" Then
MsgBox "Lütfen veri giriniz.", 32, "Uyarı"
Controls("textbox" & a).SetFocus
Exit For
End If
Next
End Sub
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba,

Çözüm hazırlayasıya kadar Levent hocam cevap vermiş, benimkisi de değişik bir örnek olsun...

Kod:
Private Sub CommandButton1_Click()
For i = 1 To 3
If Controls("textbox" & i) = "" Then
MsgBox i & " nolu Textbox boş bırakılmış.. Lütfen Textboxları dolsurmadan işlem yaptırmayınız..!", vbCritical, "UYARI"
Exit Sub
End If
Next
End Sub
 

BG

Özel Üye
Katılım
5 Mayıs 2008
Mesajlar
1,380
Excel Vers. ve Dili
Office 2021 TR & EN
Sayın Levent Menteşoğlu ve Ayhan Ercan

İlginize teşekkür eder iyi çalışmalar dilerim.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Alternatif.:cool:
Kod:
Dim nesne As Control
For Each nesne In Controls
    If TypeName(nesne) = "TextBox" And nesne = Empty Then
        MsgBox nesne.Name & " Boş Bırakılmış.."
        Exit For
    End If
Next
 

BG

Özel Üye
Katılım
5 Mayıs 2008
Mesajlar
1,380
Excel Vers. ve Dili
Office 2021 TR & EN
Evren Hocam sizede çok teşekkür ederim, hep birlikte verdiğiniz , for each ve for next ile ilgili verdiğiniz cevaplar için tekrar çok teşekkür ederim çok yararlı oldu, sorumu şöyle değiştirebilirmiyim acaba, if and veya if or ile bir çözüm bulunabilirmiydi ? if and ve if or mantığını iyice anlamak açısından soruyorum,

örnek1: Eğer textbox1, textbox2 ve textbox3 boş ise uyarı verebilir (if - and )

örnek2: Eğer textbox1 veya textbox2 veya textbox3 bu üçünden birinin boş olması durumunda uyarı verebilir. iliginize şimdiden teşekkür ederim. (if - or)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,739
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodları kullanabilirsiniz.

IF-ELSEIF-END IF yöntemi;
Kod:
Private Sub CommandButton1_Click()
    If TextBox1 = Empty Then
    MsgBox "TextBox1 Boş !", vbCritical: TextBox1.SetFocus
    ElseIf TextBox2 = Empty Then
    MsgBox "TextBox2 Boş !", vbCritical: TextBox2.SetFocus
    ElseIf TextBox3 = Empty Then
    MsgBox "TextBox3 Boş !", vbCritical: TextBox3.SetFocus
    End If
End Sub

IF-OR-END IF yöntemi;
Kod:
Private Sub CommandButton1_Click()
    If TextBox1 = Empty Or TextBox2 = Empty Or TextBox3 = Empty Then
    MsgBox "TextBoxlardan birisi boş lütfen kontrol ediniz !", vbCritical
    Exit Sub
    End If
End Sub
 

BG

Özel Üye
Katılım
5 Mayıs 2008
Mesajlar
1,380
Excel Vers. ve Dili
Office 2021 TR & EN
Sayın Korhan Ayhan

Selamlar,

Aşağıdaki kodları kullanabilirsiniz.

IF-ELSEIF-END IF yöntemi;
Kod:
Private Sub CommandButton1_Click()
    If TextBox1 = Empty Then
    MsgBox "TextBox1 Boş !", vbCritical: TextBox1.SetFocus
    ElseIf TextBox2 = Empty Then
    MsgBox "TextBox2 Boş !", vbCritical: TextBox2.SetFocus
    ElseIf TextBox3 = Empty Then
    MsgBox "TextBox3 Boş !", vbCritical: TextBox3.SetFocus
    End If
End Sub

IF-OR-END IF yöntemi;
Kod:
Private Sub CommandButton1_Click()
    If TextBox1 = Empty Or TextBox2 = Empty Or TextBox3 = Empty Then
    MsgBox "TextBoxlardan birisi boş lütfen kontrol ediniz !", vbCritical
    Exit Sub
    End If
End Sub

Hocam tam olarak anlatmaya çalıştığım gibi olmuş, gece vakti sizi yordum, çok teşekkür ederim hakkınızı helal edin, iyi geceler...
 
Katılım
18 Ağustos 2005
Mesajlar
85
Excel Vers. ve Dili
EXCEL 2003
Altın Üyelik Bitiş Tarihi
28.01.2022
Private Sub ekle_Click()
If Range("A8") = "" Then
Range("A8").Select
ActiveCell = 1
ActiveCell.Offset(0, 1).Value = fatura.Value
ActiveCell.Offset(0, 3).Value = tarih.Value
ActiveCell.Offset(0, 5).Value = tutar.Value
Else
[A65536].End(xlUp).Offset(1, 0).Select
ActiveCell = ActiveCell.Offset(-1, 0) + 1
ActiveCell.Offset(0, 1).Value = fatura.Value
ActiveCell.Offset(0, 3).Value = tarih.Value
ActiveCell.Offset(0, 5).Value = tutar.Value
End If


If fatura = Empty Then
MsgBox "fatura Boş !", vbCritical: fatura.SetFocus
ElseIf tarih = Empty Then
MsgBox "tarih Boş !", vbCritical: tarih.SetFocus
ElseIf tutar = Empty Then
MsgBox "tutar Boş !", vbCritical: tutar.SetFocus
End If


'fatura = ""
'tarih = ""
'tutar = ""
fatura.SetFocus
End Sub

Bu kodlarda imleci unutulan textbox a nasıl getirebilirim?
fatura.setfocus sayfaya veri gönderdikten sonra ilk textbox a dönsün diye,
fatura="" kullandığımda ise textbox ı temizliyor yanı verileri tekrar girmem gerekiyor..
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Sorunuzun cevabı vermiş olduğunuz kodlarda mevcut.:

If fatura = Empty Then
MsgBox "fatura Boş !", vbCritical: fatura.SetFocus
ElseIf tarih = Empty Then
MsgBox "tarih Boş !", vbCritical: tarih.SetFocus
ElseIf tutar = Empty Then
MsgBox "tutar Boş !", vbCritical: tutar.SetFocus
End If


İlgili textbox boş ise mesaj ile uyarı veriyor ve imlecin yine ilgili textboxta olmasını sağlıyor...
 
Katılım
18 Ağustos 2005
Mesajlar
85
Excel Vers. ve Dili
EXCEL 2003
Altın Üyelik Bitiş Tarihi
28.01.2022
Evet haklısınız,buna tıp da bakar körlük deniyor :) Dün gece farkettim ama evde int. olmadığı için soruyu düzeltemedim.
Bir sorum daha olacak, gece userformu kurcalarken birşeyleri bozdum ve düzeltemedim, textbox lara değer girdiğimde "enter" tuşu ile bi alttaki textbox a geçiyor ve işlemler oldukça hızlı yapılıyordu şimdi ise "tab" tuşu olmadan hareket etmiyor, neredeyse tüm true-false olaylarını denedim yine olmadı?
Teşekkürler,
 
Üst