Soru textboxlarda aynı değer var ise uyar

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Kod:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = TextBox2.Value  Then
    MsgBox "Lütfen başka bir isim giriniz", vbExclamation, "Uyarı"
    TextBox2.Value = ""
    Cancel = True
    Exit Sub
End If
End Sub
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2.Value = TextBox3.Value  Then
    MsgBox "Lütfen başka bir isim giriniz", vbExclamation, "Uyarı"
    TextBox3.Value = ""
    Cancel = True
    Exit Sub
End If
End Sub
Yukarıdaki kod ile Textbox1 Textbox2 ye eşitse ya da Textbox2 Textbox3 e eşitse uyarıyor.
Aşağıdaki gibi bir şekilde yapmaya çalışırsam hata alıyorum.

Sizlerden ricam
Textbox1 değeri Textbox2 ye eşitse uyarmasını
Textbox3 değeri Textbox1 ve Textbox2 ye eşitse uyarmasını
Textbox4 değeri Textbox1, Textbox2, Textbox3 ve Textbox4 e eşitse uyarmasını
Textbox5 değeri Textbox1, Textbox2, Textbox3, Textbox4 ve Textbox5 e eşitse uyarmasını
Textbox6 değeri Textbox1, Textbox2, Textbox3, Textbox4,Textbox5 ve Textbox6 ya eşitse uyarması için rica etsem yardımcı olabilir misiniz
 

Korhan Ayhan

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

Boş bir dosyada bir userform ve 6 adet textbox oluşturdum. Sonrasında aşağıdaki kodları formun kod bölümüne uyguladım.

Sanırım kendi dosyanıza uyarlayabilirsiniz.

C++:
Option Explicit

Private Sub TextBox1_Change()
    If TextBox1 <> "" Then Call Kontrol
End Sub

Private Sub TextBox2_Change()
    If TextBox2 <> "" Then Call Kontrol
End Sub

Private Sub TextBox3_Change()
    If TextBox3 <> "" Then Call Kontrol
End Sub

Private Sub TextBox4_Change()
    If TextBox4 <> "" Then Call Kontrol
End Sub

Private Sub TextBox5_Change()
    If TextBox5 <> "" Then Call Kontrol
End Sub

Private Sub TextBox6_Change()
    If TextBox6 <> "" Then Call Kontrol
End Sub

Sub Kontrol()
    Dim Nesne(), X As Byte, Y As Byte
    
    Nesne = Array("TextBox1", "TextBox2", "TextBox3", "TextBox4", "TextBox5", "TextBox6")
    
    For X = LBound(Nesne) To UBound(Nesne)
        If UserForm1.Controls(Nesne(X)).Value <> "" Then
            For Y = X + 1 To UBound(Nesne)
                If UserForm1.Controls(Nesne(Y)).Value = UserForm1.Controls(Nesne(X)).Value Then
                    MsgBox "Lütfen başka bir isim giriniz!", vbCritical, "Uyarı"
                    UserForm1.ActiveControl.Value = ""
                    Exit Sub
                End If
            Next
        End If
    Next
End Sub
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Korhan Abi Teşekkür Ederim.
 
Üst