• DİKKAT

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

"If" kodu ile ilgili bir sorun ?

Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Private Sub CommandButton1_Click()
If TextBox1 <> Empty Then
MsgBox "Veri girişi yapınız!"
End If
End Sub

Selamlar bu kodda Textbox1 boş ile mesaj çıkıyor. Benim yapmak istediğim
"TextBox5, ComboBox3, ComboBox9, ComboBox11" de boş ise bu mesaj çıksın. Ama bunları TextBox1 in yanına ":" veya "or" ile eklemeye çalıştığımda yada ayrı bir "if" ile eklmek istediğimde hata alıyorum.

Yardımlarınızı bekliyorum, şimdiden çok teşekkürler...
 
Merhaba,

If TextBox1 = Empty Or TextBox5 = Empty Or ComboBox3 = Empty Or ComboBox9 = Empty Or ComboBox11 = Empty Then

Bu şekilde denermisiniz.
 
Selamlar bu kodda Textbox1 boş ile mesaj çıkıyor. Benim yapmak istediğim
"TextBox5, ComboBox3, ComboBox9, ComboBox11" de boş ise bu mesaj çıksın. Ama bunları TextBox1 in yanına ":" veya "or" ile eklemeye çalıştığımda yada ayrı bir "if" ile eklmek istediğimde hata alıyorum.

Yardımlarınızı bekliyorum, şimdiden çok teşekkürler...

merhaba
alternatif olsun
Kod:
Private Sub CommandButton1_Click()
If TextBox1 = "" And TextBox3 = "" And TextBox5 = "" And ComboBox3 = "" And ComboBox9 = "" And ComboBox11 = "" Then
MsgBox "Veri Girişi Yapınız", vbInformation
End If
End Sub
 
Hocam ikinizede çok teşekkür ederim halloldu.

Önemli bir değil ama bir şey daha sorsam. Aşağıdaki kodda ":" ile alt satıra getirirsem kod komple kırmızı oluyor ve çalışmıyor. "then" alt satıra indiği içinmi olmuyor aceba.

Private Sub CommandButton1_Click()
If TextBox1 = "" And TextBox5 = "" And ComboBox3 = "" And ComboBox9 = "" :
And ComboBox11 = "" Then
MsgBox "Veri Girişi Yapınız", vbInformation
End If
End Sub
 
Kod:
Private Sub CommandButton1_Click()
 
    If TextBox1 = "" Or TextBox5 = "" Or ComboBox3 = "" Or[COLOR=red][B] _[/B][/COLOR]
        ComboBox9 = "" Or ComboBox11 = "" Then
        MsgBox "Veri Girişi Yapınız"
        Exit Sub
    End If
 
End Sub
Bu şekilde yazabilirsiniz. Yalnız yazdığınız gibi And komutu ile istediğiniz sonuçu alamazsınız.

.
 
Hocam çok sağolun çalıştı ve böyle çok daha şık oldu kodlarım. Saygılar selamlar....
 
Private Sub CommandButton1_Click()

If TextBox1 = "" Or TextBox5 = "" Or ComboBox3 = "" Or _
ComboBox9 = "" Or ComboBox11 = "" Or Optionbutton1 = false or _
Optionbutton2 = false
Then
MsgBox "Veri Girişi Yapınız"
Exit Sub
End If

End Sub

Hocam bir ihtiyacım daha oldu bu kodalara yukardaki gibi ekleme yaparsam. kod hata vermiyor ama mesaj çıkmıyor. Tabi optionbutton1 veya optionbutton2 den biri seçili değilse mesaj çıksın istiyordum. Bunda yardımcı olabilirmisiniz. Teşekkürler...
 
Kod:
Private Sub CommandButton1_Click()
 
    If TextBox1 = "" Or TextBox5 = "" Or ComboBox3 = "" Or _
        ComboBox9 = "" Or ComboBox11 = "" Or _
        OptionButton1 = False [COLOR=red]And[/COLOR] OptionButton2 = False Then
        MsgBox "Veri Girişi Yapınız"
        Exit Sub
    End If
 
End Sub
Bu şekilde deneyiniz. OptionButton larda iki seçenekten bir şart aradığınız için, bu bölümü and ile ayırmanız gerekirdi.

.
 
Hocam malesef hata vermiyor ama mesaj çıkmadı. Aceba OptionButton'lar için aytı bir "if" döngüsü açıp "butonu tıklayın!" gibi başka bir uyarı mesajı çıkmasını sağlayabilirmiyiz. ben ikinci bir "if" döngüsü açtığımda kırmızı olup hata veriyor.
 
Yanlış uygulama yapmış olabilirmisiniz. Konuyla ilgili küçük bir örnek oluşturup eklermisiniz.
 
Hocam valla sağolun baya vaktinizi aldım. Örnek dosyamı hazırlayıp ekledim.
 

Ekli dosyalar

Hocam sağolun ama veri girişi yoksa uyarı veriyordikten sonra kayıt yapmasın istiyorum fakat boş olarak kaydediyor. Birde optionbutton yada togglebuttonlardan biri tıklanmamış ise uyarı gelmiyor.
 
Verdiğim kodları kullanmamışsınız.

Kod:
    If TextBox1 = "" [COLOR=blue]Or[/COLOR] TextBox2 = "" [COLOR=blue]Or[/COLOR] ComboBox1 = ""[COLOR=blue] Or[/COLOR] _
        ComboBox2 = "" [COLOR=blue]Or[/COLOR] OptionButton1 = False [COLOR=red]And[/COLOR] OptionButton2 = False Then
        MsgBox "Veri Girişi Yapınız"
        [COLOR=blue]Exit Sub[/COLOR]
    [COLOR=red]End If[/COLOR]

Bu şekilde yazmanız gerekir. Or vermiştim siz And yazmışsınız. Ayrıca burada end if ile şartı kapatıp, end sub satırından önceki end if satırını silin.

.
 
Hocam sağolun ama veri girişi yoksa uyarı veriyordikten sonra kayıt yapmasın istiyorum fakat boş olarak kaydediyor. Birde optionbutton yada togglebuttonlardan biri tıklanmamış ise uyarı gelmiyor.

merhaba
üsteki dosyayı güncelledim.
optionbutton ve tooglebutton kullanmadım.

bir de tooglebutton çifttıklama ile normal'e döner bilginize
 
Çok teşekkür ederim vakit ayırıp uğraştınız. ben yapamadım ama olsun biraz kafamı toplayıp inceleyim belki hatamı görürüm. olmadı örnek dosyamı daha düzgün yapıp sonra danışırım.
 
Merhaba..

Bu da farklı bir alternatif.. ;)

Kod:
Dim trz As Control
Dim msg As String
  For Each trz In Me.Controls
    If Left(trz.Tag, 1) = "t" And trz = Empty Then
    msj = Mid(trz.Tag, 2) & ", " & msj
End If
Next
If Len(msj) <> 0 Then
MsgBox msj & Chr(10) & "Bu alanları boş geçemezsiniz..", _
vbCritical, "Uyarıyorum.. ;)"
Else
'kayıt..
End If
Avantajı..: istediğiniz kadar kontrolü şart içine alabilirsiniz.. Kod içinde direkt tanımlamaya gerek yoktur..
Bu yapıda etiket(label) isimlerini pek efektif yoldan almadım.. Excelde etiketlerle kontrolleri ilişkilendirmenin direkt bir yolu var mıdır? Öyle olursa mantığı basitleştirebiliriz..
 

Ekli dosyalar

Çok teşekkür ederim vakit ayırıp uğraştınız. ben yapamadım ama olsun biraz kafamı toplayıp inceleyim belki hatamı görürüm. olmadı örnek dosyamı daha düzgün yapıp sonra danışırım.

Sizin hatanızı yukarıda belirtmiştim. Benim Or ile yazdığım şartları siz And ile değiştirmissiniz. Genel mantık hatanız bu idi. Kodları mantığını kısaltarak yeniden yazdım. Bu şekilde daha kolay anlayabilirsiniz.

Kod:
Private Sub CommandButton1_Click()
 
    Dim sOn As Long
 
    If TextBox1 = "" Or TextBox2 = "" Or ComboBox1 = "" Or _
        ComboBox2 = "" Or OptionButton1 = False And OptionButton2 = False Then
        MsgBox "Veri Girişi Yapınız"
        Exit Sub
    End If
 
    sOn = Cells(Rows.Count, "A").End(xlUp).Row + 1
 
    Range("A" & sOn) = sOn - 1
 
    Range("B" & sOn) = TextBox1.Text
    Range("C" & sOn) = TextBox2.Text
    Range("D" & sOn) = ComboBox1.Text
    Range("E" & sOn) = ComboBox2.Text
 
    If OptionButton1 = True Then
        Range("F" & sOn) = OptionButton1.Caption
    Else
        Range("F" & sOn) = OptionButton2.Caption
    End If
 
    If ToggleButton1 = True Then
        Range("G" & sOn) = ToggleButton1.Caption
    Else
        Range("G" & sOn) = ToggleButton2.Caption
    End If
 
End Sub

.
 
Hocam çok teşekkür ederim. ellerinize sağlık. "or" yapmıştım ama başka hatalarda yapmışım.
Taruz sizde sağolun alternatif için, onuda kaydettim. Hepinize, saygılar selamlar.
 
Geri
Üst