• DİKKAT

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

Excel Userform 2 koşullu arama

sonerergin93

Altın Üye
Katılım
9 Şubat 2022
Mesajlar
25
Excel Vers. ve Dili
2021 Türkçe
Merhaba , excel vba'da iki koşullu bir arama yaptırmak istiyorum. Örneğin textbox1 ve textbox2 ye ad soyad yazıp textbox3 e tc kimlik numarasını atamak istiyorum. Tek koşullu yapabildim, textbox1 e yazıyorum direkt atıyor textbox3 e ancak ben ad ve soyadın yazılıp eğer öyle bir kayıt varsa atamasını yapmak , textbox1 ve textbox2 den herhangi birisi eşleşemediği durumda kayıt bulunamadı hatası, eşleştiği durumda kayıt bulundu yazısı çıkarmak da istiyorum. Yardımlarınızı beklerim. Bir tane örnek macro yaptım bakabilir misiniz?
 

Ekli dosyalar

Merhaba.
Formdaki kodları silin aşağıdaki kodu ekleyin.
Kod:
Private Sub CommandButton1_Click()
    Dim Bak As Long
    For Bak = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        If Cells(Bak, "A") = TextBox2.Text And Cells(Bak, "B") = TextBox3.Text Then
            TextBox1.Text = Cells(Bak, "C")
            Exit Sub
        End If
    Next
    MsgBox "Bulunamadı."
End Sub
 
Merhaba.
Formdaki kodları silin aşağıdaki kodu ekleyin.
Kod:
Private Sub CommandButton1_Click()
    Dim Bak As Long
    For Bak = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        If Cells(Bak, "A") = TextBox2.Text And Cells(Bak, "B") = TextBox3.Text Then
            TextBox1.Text = Cells(Bak, "C")
            Exit Sub
        End If
    Next
    MsgBox "Bulunamadı."
End Sub
Teşekkür ederim. Peki bu durumu sayısal veriler için nasıl yaparım.
B Sütununda çıktımız olsun, E sütununda ilk sayımız F sütununda 2.sayımız. Örneğin E sütununda 125 ve F Sütunundaki 5 in bulunduğu Satırındaki veri ERGİN( Çıktıların tamamı B sütununda) olduğunu varsayarsak 125 ve 5i yazıp bul dediğimizde ERGİN'i yazsın. Sizin yazdığınız kodu uyarlamaya çalıştım ama başarısız oldum.
 
Soruyu anlamadım.
Örnek dosya hazırlayınız.
 
Ama biraz çaba göstermelisiniz.
Önceki dosyanızdaki sorunuz ile bu soru aynı.
Sadece TextBox ların adı ve sütunları yerleri değişik.

Burada bize iş yaptırmak yerine öğrenme amaçlı sorular sormalısınız.
Kolay gelsin.
 
Ama biraz çaba göstermelisiniz.
Önceki dosyanızdaki sorunuz ile bu soru aynı.
Sadece TextBox ların adı ve sütunları yerleri değişik.

Burada bize iş yaptırmak yerine öğrenme amaçlı sorular sormalısınız.
Kolay gelsin.
Private Sub CommandButton3_Click()
Dim Bak As Long
For Bak = 2 To Cells(Rows.Count, "E").End(xlUp).Row
If Cells(Bak, "E") = TextBox23.Text And Cells(Bak, "F") = TextBox24.Text Then
TextBox25.Text = Cells(Bak, "B")
Exit Sub
End If
Next
MsgBox "Bulunamadı."
End Sub

Çabadan yana sıkıntım yokta textboxların numaralarını ters yazmısım problem oradaymış, amacım tabiki size iş yaptırmak değil teessüf ederim ve teşekkür ederim.
 
Ama biraz çaba göstermelisiniz.
Önceki dosyanızdaki sorunuz ile bu soru aynı.
Sadece TextBox ların adı ve sütunları yerleri değişik.

Burada bize iş yaptırmak yerine öğrenme amaçlı sorular sormalısınız.
Kolay gelsin.
beni yanlış anlamanıza ayrıca üzüldüm
 
Üzülecek bir şey yok. Ben keyifle yardımcı oluyorum.
Önemli olan öğrenmenizdir yani sizsiniz. Yoksa ben bu tür işleri yapmaktan keyif alıyorum.
İstemesem zaten cevap vermez geçerim.

TextBox ve diğer kontrollerin isimlerine gelince, onların isimlerini anlamlı bir şekilde değiştirmenizi öneririm.

Örneğin "TextBox1" yerine "txtAda" yazabilirsiniz.
txt TextBox kısalması Ada da kullanıldığı yere işaret eder.

"CommandBıutton1" yerine "btnBul" yazabilirsiniz.

Diğer kontrolleri de buna benzer şekilde adlandırırsanız burada karşılaştığınız soruna benzer sorunlarla karşılaştığınızda çözmeniz kolaylaşır.

Kolay gelsin.
 
Üzülecek bir şey yok. Ben keyifle yardımcı oluyorum.
Önemli olan öğrenmenizdir yani sizsiniz. Yoksa ben bu tür işleri yapmaktan keyif alıyorum.
İstemesem zaten cevap vermez geçerim.

TextBox ve diğer kontrollerin isimlerine gelince, onların isimlerini anlamlı bir şekilde değiştirmenizi öneririm.

Örneğin "TextBox1" yerine "txtAda" yazabilirsiniz.
txt TextBox kısalması Ada da kullanıldığı yere işaret eder.

"CommandBıutton1" yerine "btnBul" yazabilirsiniz.

Diğer kontrolleri de buna benzer şekilde adlandırırsanız burada karşılaştığınız soruna benzer sorunlarla karşılaştığınızda çözmeniz kolaylaşır.

Kolay gelsin.
verdiğiniz bilgiler için teşekkür ederim, önerilerinizi dikkate alacağım. Hayırlı günler diliyorum
 
Geri
Üst